﻿#include "Server.MapInfoForm.h"
#include "../Server.SMain.h"
#include "../../Server/Settings.h"
#include "../../Shared/Enums.h"
#include "../../Server/MirDatabase/MonsterInfo.h"
#include "MapForm.h"
#include "../VisualMapInfo/Server.MirForms.VisualMapInfo.VForm.h"
#include "../VisualMapInfo/Class/VisualizerGlobal.h"
#include "../../Server/MirDatabase/ConquestInfo.h"

using namespace Server::MirDatabase;
using namespace Server::MirEnvir;

namespace Server
{

    Server::MirEnvir::Envir *MapInfoForm::getEnvir() const
    {
        return SMain::getEditEnvir();
    }

    MapInfoForm::MapInfoForm()
    {
        InitializeComponent();

        ListItem *tempVar = new ListItem();
        tempVar->Text = "Disabled";
        tempVar->Value = "0";
        MineComboBox->Items->Add(tempVar);
        for (int i = 0; i < Settings::MineSetList.size(); i++)
        {
            ListItem tempVar2(Settings::MineSetList[i]->Name, std::to_string(i + 1));
            MineComboBox->Items->Add(&tempVar2);
        }

        ListItem tempVar3("Disabled", "0");
        MineZoneComboBox->Items->Add(&tempVar3);
        for (int i = 0; i < Settings::MineSetList.size(); i++)
        {
            ListItem tempVar4(Settings::MineSetList[i]->Name, std::to_string(i + 1));
            MineZoneComboBox->Items->Add(&tempVar4);
        }

//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to the C# 'typeof' operator:
        LightsComboBox->Items->AddRange(Enum::GetValues(typeof(LightSetting))->Cast<std::any>()->ToArray());
        for (int i = 0; i < getEnvir()->MonsterInfoList.size(); i++)
        {
            MonsterInfoComboBox->Items->Add(getEnvir()->MonsterInfoList[i]);
        }

        ListItem tempVar5("None", "0");
        ConquestComboBox->Items->Add(&tempVar5);
        for (int i = 0; i < getEnvir()->ConquestInfos.size(); i++)
        {
            ConquestComboBox->Items->Add(getEnvir()->ConquestInfos[i]);
        }

        UpdateInterface();

//C# TO C++ CONVERTER TODO TASK: A 'delete tempVar' statement was not added since tempVar was passed to a method or constructor. Handle memory management manually.
    }

    void MapInfoForm::MapInfoForm_FormClosed(std::any sender, FormClosedEventArgs *e)
    {
        getEnvir()->SaveDB();
    }

    void MapInfoForm::UpdateInterface()
    {
        //Group<MapInfo> orderedMapInfoList = Envir.MapInfoList.OrderBy(m => m.Title).ToList();

        if (MapInfoListBox->Items->Count != getEnvir()->MapInfoList.size())
        {
            MapInfoListBox->Items->Clear();
            DestMapComboBox->Items->Clear();

            for (int i = 0; i < getEnvir()->MapInfoList.size(); i++)
            {
                MapInfoListBox->Items->Add(getEnvir()->MapInfoList[i]);
                DestMapComboBox->Items->Add(getEnvir()->MapInfoList[i]);
            }
        }

        _selectedMapInfos = MapInfoListBox->SelectedItems.Cast<MapInfo*>().ToList();

        if (_selectedMapInfos.empty() || _selectedMapInfos.empty())
        {
            tabPage1->Show();
            MapTabs->Enabled = false;
            MapIndexTextBox->Text = "";
            FileNameTextBox->Text = "";
            MapNameTextBox->Text = "";
            MiniMapTextBox->Text = "";
            BigMapTextBox->Text = "";
            LightsComboBox->SelectedItem = nullptr;
            MineComboBox->SelectedItem = nullptr;
            MusicTextBox->Text = "";

            NoTeleportCheckbox->Checked = false;
            NoReconnectCheckbox->Checked = false;
            NoRandomCheckbox->Checked = false;
            NoEscapeCheckbox->Checked = false;
            NoRecallCheckbox->Checked = false;
            NoDrugCheckbox->Checked = false;

            NoPositionCheckbox->Checked = false;
            NoThrowItemCheckbox->Checked = false;
            NoDropPlayerCheckbox->Checked = false;
            NoDropMonsterCheckbox->Checked = false;
            NoNamesCheckbox->Checked = false;

            FightCheckbox->Checked = false;
            FireCheckbox->Checked = false;
            LightningCheckbox->Checked = false;
            NoReconnectTextbox->Text = "";
            FireTextbox->Text = "";
            LightningTextbox->Text = "";
            MapDarkLighttextBox->Text = "";
            //MineIndextextBox.Text = string.Empty;
            return;
        }


        MapInfo *mi = _selectedMapInfos[0];

        MapTabs->Enabled = true;

        MapIndexTextBox->Text = std::to_string(mi->Index);
        FileNameTextBox->Text = mi->FileName;
        MapNameTextBox->Text = mi->Title;
        MiniMapTextBox->Text = std::to_string(mi->MiniMap);
        BigMapTextBox->Text = std::to_string(mi->BigMap);
        LightsComboBox->SelectedItem = mi->Light;
        MineComboBox->SelectedIndex = mi->MineIndex;
        MusicTextBox->Text = std::to_string(mi->Music);

        //map attributes
        NoTeleportCheckbox->Checked = mi->NoTeleport;
        NoReconnectCheckbox->Checked = mi->NoReconnect;
        NoReconnectTextbox->Text = mi->NoReconnectMap;
        NoRandomCheckbox->Checked = mi->NoRandom;
        NoEscapeCheckbox->Checked = mi->NoEscape;
        NoRecallCheckbox->Checked = mi->NoRecall;
        NoDrugCheckbox->Checked = mi->NoDrug;
        NoPositionCheckbox->Checked = mi->NoPosition;
        NoThrowItemCheckbox->Checked = mi->NoThrowItem;
        NoDropPlayerCheckbox->Checked = mi->NoDropPlayer;
        NoDropMonsterCheckbox->Checked = mi->NoDropMonster;
        NoNamesCheckbox->Checked = mi->NoNames;
        FightCheckbox->Checked = mi->Fight;
        NoFightCheckbox->Checked = mi->NoFight;
        FireCheckbox->Checked = mi->Fire;
        FireTextbox->Text = std::to_string(mi->FireDamage);
        LightningCheckbox->Checked = mi->Lightning;
        LightningTextbox->Text = std::to_string(mi->LightningDamage);
        MapDarkLighttextBox->Text = std::to_string(mi->MapDarkLight);

        NoMountCheckbox->Checked = mi->NoMount;
        NeedBridleCheckbox->Checked = mi->NeedBridle;
        //MineIndextextBox.Text = mi.MineIndex.ToString();
        NoTownTeleportCheckbox->Checked = mi->NoTownTeleport;
        NoReincarnation->Checked = mi->NoReincarnation;
        for (int i = 1; i < _selectedMapInfos.size(); i++)
        {
            mi = _selectedMapInfos[i];

            if (MapIndexTextBox->Text != std::to_string(mi->Index))
            {
                MapIndexTextBox->Text = "";
            }
            if (FileNameTextBox->Text != mi->FileName)
            {
                FileNameTextBox->Text = "";
            }
            if (MapNameTextBox->Text != mi->Title)
            {
                MapNameTextBox->Text = "";
            }
            if (MiniMapTextBox->Text != std::to_string(mi->MiniMap))
            {
                MiniMapTextBox->Text = "";
            }
            if (BigMapTextBox->Text != std::to_string(mi->BigMap))
            {
                BigMapTextBox->Text = "";
            }
            if (LightsComboBox->SelectedItem == nullptr || static_cast<LightSetting>(LightsComboBox->SelectedItem) != mi->Light)
            {
                LightsComboBox->SelectedItem = nullptr;
            }
            if (MineComboBox->SelectedItem == nullptr || MineComboBox->SelectedIndex != mi->MineIndex)
            {
                MineComboBox->SelectedIndex = 1;
            }
            if (MusicTextBox->Text != std::to_string(mi->Music))
            {
                MusicTextBox->Text = "";
            }

            //map attributes
            if (NoTeleportCheckbox->Checked != mi->NoTeleport)
            {
                NoTeleportCheckbox->Checked = false;
            }
            if (NoReconnectCheckbox->Checked != mi->NoReconnect)
            {
                NoReconnectCheckbox->Checked = false;
            }
            if (NoReconnectTextbox->Text != mi->NoReconnectMap)
            {
                NoReconnectTextbox->Text = "";
            }
            if (NoRandomCheckbox->Checked != mi->NoRandom)
            {
                NoRandomCheckbox->Checked = false;
            }
            if (NoEscapeCheckbox->Checked != mi->NoEscape)
            {
                NoEscapeCheckbox->Checked = false;
            }
            if (NoRecallCheckbox->Checked != mi->NoRecall)
            {
                NoRecallCheckbox->Checked = false;
            }
            if (NoDrugCheckbox->Checked != mi->NoDrug)
            {
                NoDrugCheckbox->Checked = false;
            }
            if (NoPositionCheckbox->Checked != mi->NoPosition)
            {
                NoPositionCheckbox->Checked = false;
            }
            if (NoThrowItemCheckbox->Checked != mi->NoThrowItem)
            {
                NoThrowItemCheckbox->Checked = false;
            }
            if (NoDropPlayerCheckbox->Checked != mi->NoDropPlayer)
            {
                NoDropPlayerCheckbox->Checked = false;
            }
            if (NoDropMonsterCheckbox->Checked != mi->NoDropMonster)
            {
                NoDropMonsterCheckbox->Checked = false;
            }
            if (NoNamesCheckbox->Checked != mi->NoNames)
            {
                NoNamesCheckbox->Checked = false;
            }
            if (FightCheckbox->Checked != mi->Fight)
            {
                FightCheckbox->Checked = false;
            }
            if (NoFightCheckbox->Checked != mi->NoFight)
            {
                NoFightCheckbox->Checked = false;
            }
            if (FireCheckbox->Checked != mi->Fire)
            {
                FireCheckbox->Checked = false;
            }
            if (FireTextbox->Text != std::to_string(mi->FireDamage))
            {
                FireTextbox->Text = "";
            }
            if (LightningCheckbox->Checked != mi->Lightning)
            {
                LightningCheckbox->Checked = false;
            }
            if (LightningTextbox->Text != std::to_string(mi->LightningDamage))
            {
                LightningTextbox->Text = "";
            }
            if (MapDarkLighttextBox->Text != std::to_string(mi->MapDarkLight))
            {
                MapDarkLighttextBox->Text = "";
            }

            if (NoMountCheckbox->Checked != mi->NoMount)
            {
                NoMountCheckbox->Checked = false;
            }
            if (NeedBridleCheckbox->Checked != mi->NeedBridle)
            {
                NeedBridleCheckbox->Checked = false;
            }
            if (NoTownTeleportCheckbox->Checked != mi->NoTownTeleport)
            {
                NoTownTeleportCheckbox->Checked = false;
            }
            if (NoReincarnation->Checked != mi->NoReincarnation)
            {
                NoReincarnation->Checked = false;
            }
        }

        UpdateSafeZoneInterface();
        UpdateRespawnInterface();
        UpdateMovementInterface();
        UpdateMineZoneInterface();
    }

    void MapInfoForm::UpdateSafeZoneInterface()
    {
        if (_selectedMapInfos.size() != 1)
        {
            SafeZoneInfoListBox->Items->Clear();
            if (!_selectedSafeZoneInfos.empty() && _selectedSafeZoneInfos.size() > 0)
            {
                _selectedSafeZoneInfos.clear();
            }
            _info = nullptr;

            SafeZoneInfoPanel->Enabled = false;

            SZXTextBox->Text = "";
            SZYTextBox->Text = "";
            StartPointCheckBox->CheckState = CheckState::Unchecked;
            return;
        }

        if (_info != _selectedMapInfos[0])
        {
            SafeZoneInfoListBox->Items->Clear();
            _info = _selectedMapInfos[0];
        }

        if (SafeZoneInfoListBox->Items->Count != _info->SafeZones.size())
        {
            SafeZoneInfoListBox->Items->Clear();
            for (int i = 0; i < _info->SafeZones.size(); i++)
            {
                SafeZoneInfoListBox->Items->Add(_info->SafeZones[i]);
            }
        }
        _selectedSafeZoneInfos = SafeZoneInfoListBox->SelectedItems.Cast<SafeZoneInfo*>().ToList();

        if (_selectedSafeZoneInfos.empty())
        {
            SafeZoneInfoPanel->Enabled = false;

            SZXTextBox->Text = "";
            SZYTextBox->Text = "";
            StartPointCheckBox->CheckState = CheckState::Unchecked;
            return;
        }

        SafeZoneInfo *info = _selectedSafeZoneInfos[0];
        SafeZoneInfoPanel->Enabled = true;

//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        SZXTextBox->Text = info->Location->X.ToString();
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        SZYTextBox->Text = info->Location->Y.ToString();
        StartPointCheckBox->CheckState = info->StartPoint ? CheckState->Checked : CheckState::Unchecked;
        SizeTextBox->Text = std::to_string(info->Size);


        for (int i = 1; i < _selectedSafeZoneInfos.size(); i++)
        {
            info = _selectedSafeZoneInfos[i];

//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            if (SZXTextBox->Text != info->Location->X.ToString())
            {
                SZXTextBox->Text = "";
            }
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            if (SZYTextBox->Text != info->Location->Y.ToString())
            {
                SZYTextBox->Text = "";
            }
            if (StartPointCheckBox->Checked != info->StartPoint)
            {
                StartPointCheckBox->CheckState = CheckState::Indeterminate;
            }
            if (SizeTextBox->Text != std::to_string(info->Size))
            {
                SizeTextBox->Text = "";
            }
        }
    }

    void MapInfoForm::UpdateRespawnInterface()
    {
        if (_selectedMapInfos.size() != 1)
        {
            RespawnInfoListBox->Items->Clear();
            if (!_selectedRespawnInfos.empty() && _selectedRespawnInfos.size() > 0)
            {
                _selectedRespawnInfos.clear();
            }
            _info = nullptr;

            RespawnInfoPanel->Enabled = false;

            MonsterInfoComboBox->SelectedItem = nullptr;
            RXTextBox->Text = "";
            RYTextBox->Text = "";
            CountTextBox->Text = "";
            SpreadTextBox->Text = "";
            DelayTextBox->Text = "";
            chkrespawnsave->Enabled = false;
            chkRespawnEnableTick->Checked = false;
            chkrespawnsave->Checked = false;
            DirectionTextBox->Text = "";
            RoutePathTextBox->Text = "";
            Randomtextbox->Text = "";
            return;
        }

        if (_info != _selectedMapInfos[0])
        {
            RespawnInfoListBox->Items->Clear();
            _info = _selectedMapInfos[0];
        }

        if (RespawnInfoListBox->Items->Count != _info->Respawns.size())
        {
            RespawnInfoListBox->Items->Clear();
            for (int i = 0; i < _info->Respawns.size(); i++)
            {
                RespawnInfoListBox->Items->Add(_info->Respawns[i]);
            }
        }
        _selectedRespawnInfos = RespawnInfoListBox->SelectedItems.Cast<RespawnInfo*>().ToList();

        if (_selectedRespawnInfos.empty())
        {
            RespawnInfoPanel->Enabled = false;

            MonsterInfoComboBox->SelectedItem = nullptr;
            RXTextBox->Text = "";
            RYTextBox->Text = "";
            CountTextBox->Text = "";
            SpreadTextBox->Text = "";
            DelayTextBox->Text = "";
            chkrespawnsave->Enabled = false;
            chkRespawnEnableTick->Checked = false;
            chkrespawnsave->Checked = false;
            DirectionTextBox->Text = "";
            RoutePathTextBox->Text = "";
            Randomtextbox->Text = "";
            return;
        }

        RespawnInfo *info = _selectedRespawnInfos[0];
        RespawnInfoPanel->Enabled = true;

        MonsterInfoComboBox->SelectedItem = getEnvir()->MonsterInfoList.FirstOrDefault([&] (std::any x)
        {
            return x->Index == info->MonsterIndex;
        });
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        RXTextBox->Text = info->Location->X.ToString();
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        RYTextBox->Text = info->Location->Y.ToString();
        CountTextBox->Text = std::to_string(info->Count);
        SpreadTextBox->Text = std::to_string(info->Spread);
        DelayTextBox->Text = info->RespawnTicks == 0 ? std::to_string(info->Delay) : std::to_string(info->RespawnTicks);
        chkrespawnsave->Enabled = info->RespawnTicks != 0;
        chkRespawnEnableTick->Checked = info->RespawnTicks != 0;
        chkrespawnsave->Checked = ((info->RespawnTicks != 0) && (info->SaveRespawnTime)) ? true : false;
        DirectionTextBox->Text = std::to_string(info->Direction);
        RoutePathTextBox->Text = info->RoutePath;
        Randomtextbox->Enabled = info->RespawnTicks == 0;
        Randomtextbox->Text = std::to_string(info->RandomDelay);

        for (int i = 1; i < _selectedRespawnInfos.size(); i++)
        {
            info = _selectedRespawnInfos[i];

            if (MonsterInfoComboBox->SelectedItem != getEnvir()->MonsterInfoList.FirstOrDefault([&] (std::any x)
            {
                return x->Index == info->MonsterIndex;
            }))
            {
                MonsterInfoComboBox->SelectedItem = nullptr;
            }
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            if (RXTextBox->Text != info->Location->X.ToString())
            {
                RXTextBox->Text = "";
            }
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            if (RYTextBox->Text != info->Location->Y.ToString())
            {
                RYTextBox->Text = "";
            }
            if (CountTextBox->Text != std::to_string(info->Count))
            {
                CountTextBox->Text = "";
            }
            if (SpreadTextBox->Text != std::to_string(info->Spread))
            {
                SpreadTextBox->Text = "";
            }
            if (chkRespawnEnableTick->Checked != (info->RespawnTicks == 0))
            {
                DelayTextBox->Text = "";
                chkrespawnsave->Enabled = false;
                chkrespawnsave->Checked = false;
                Randomtextbox->Text = "";
            }
            else
            {
                if (chkRespawnEnableTick->Checked)
                {
                    if (DelayTextBox->Text != std::to_string(info->RespawnTicks))
                    {
                        DelayTextBox->Text = "";
                    }
                    if (chkrespawnsave->Checked != info->SaveRespawnTime)
                    {
                        chkrespawnsave->Enabled = false;
                        chkrespawnsave->Checked = false;
                    }
                    Randomtextbox->Enabled = false;
                    Randomtextbox->Text = "";
                }
                else
                {
                    if (DelayTextBox->Text != std::to_string(info->Delay))
                    {
                        DelayTextBox->Text = "";
                    }
                    chkrespawnsave->Enabled = false;
                    chkrespawnsave->Checked = false;
                    if (Randomtextbox->Text != std::to_string(info->RandomDelay))
                    {
                        Randomtextbox->Text = "";
                    }
                }
            }
            if (DirectionTextBox->Text != std::to_string(info->Direction))
            {
                DirectionTextBox->Text = "";
            }
            if (RoutePathTextBox->Text != info->RoutePath)
            {
                RoutePathTextBox->Text = "";
            }
        }
    }

    void MapInfoForm::UpdateMovementInterface()
    {
        if (_selectedMapInfos.size() != 1)
        {
            MovementInfoListBox->Items->Clear();
            if (!_selectedMovementInfos.empty() && _selectedMovementInfos.size() > 0)
            {
                _selectedMovementInfos.clear();
            }
            _info = nullptr;

            MovementInfoPanel->Enabled = false;

            SourceXTextBox->Text = "";
            SourceYTextBox->Text = "";
            DestMapComboBox->SelectedItem = nullptr;
            ConquestComboBox->SelectedIndex = 0;
            DestXTextBox->Text = "";
            DestYTextBox->Text = "";
            return;
        }

        if (_info != _selectedMapInfos[0])
        {
            MovementInfoListBox->Items->Clear();
            _info = _selectedMapInfos[0];
        }

        if (MovementInfoListBox->Items->Count != _info->Movements.size())
        {
            MovementInfoListBox->Items->Clear();
            for (int i = 0; i < _info->Movements.size(); i++)
            {
                MovementInfoListBox->Items->Add(_info->Movements[i]);
            }
        }
        _selectedMovementInfos = MovementInfoListBox->SelectedItems.Cast<MovementInfo*>().ToList();

        if (_selectedMovementInfos.empty())
        {
            MovementInfoPanel->Enabled = false;

            SourceXTextBox->Text = "";
            SourceYTextBox->Text = "";
            NeedHoleMCheckBox->Checked = false;
            NeedMoveMCheckBox->Checked = false;
            DestMapComboBox->SelectedItem = nullptr;
            ConquestComboBox->SelectedIndex = 0;
            DestXTextBox->Text = "";
            DestYTextBox->Text = "";
            return;
        }

        MovementInfo *info = _selectedMovementInfos[0];

        MovementInfoPanel->Enabled = true;

//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        SourceXTextBox->Text = info->Source->X.ToString();
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        SourceYTextBox->Text = info->Source->Y.ToString();
        NeedHoleMCheckBox->Checked = info->NeedHole;
        NeedMoveMCheckBox->Checked = info->NeedMove;
        DestMapComboBox->SelectedItem = getEnvir()->MapInfoList.FirstOrDefault([&] (std::any x)
        {
            return x->Index == info->MapIndex;
        });
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        DestXTextBox->Text = info->Destination->X.ToString();
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        DestYTextBox->Text = info->Destination->Y.ToString();

        ConquestComboBox->SelectedItem = getEnvir()->ConquestInfos.FirstOrDefault([&] (std::any x)
        {
            return x->Index == info->ConquestIndex;
        });
        if (ConquestComboBox->SelectedItem == nullptr)
        {
            ConquestComboBox->SelectedIndex = 0;
        }

        for (int i = 1; i < _selectedMovementInfos.size(); i++)
        {
            info = _selectedMovementInfos[i];

//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            SourceXTextBox->Text = info->Source->X.ToString();
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            SourceYTextBox->Text = info->Source->Y.ToString();
            DestMapComboBox->SelectedItem = getEnvir()->MapInfoList.FirstOrDefault([&] (std::any x)
            {
                return x->Index == info->MapIndex;
            });
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            DestXTextBox->Text = info->Destination->X.ToString();
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            DestYTextBox->Text = info->Destination->Y.ToString();
            ConquestComboBox->SelectedItem = getEnvir()->ConquestInfos.FirstOrDefault([&] (std::any x)
            {
                return x->Index == info->ConquestIndex;
            });

//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            if (SourceXTextBox->Text != info->Source->X.ToString())
            {
                SourceXTextBox->Text = "";
            }
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            if (SourceYTextBox->Text != info->Source->Y.ToString())
            {
                SourceYTextBox->Text = "";
            }

            if (DestMapComboBox->SelectedItem != getEnvir()->MapInfoList.FirstOrDefault([&] (std::any x)
            {
                return x->Index == info->MapIndex;
            }))
            {
                DestMapComboBox->SelectedItem = nullptr;
            }

//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            if (DestXTextBox->Text != info->Destination->X.ToString())
            {
                DestXTextBox->Text = "";
            }
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            if (DestYTextBox->Text != info->Destination->Y.ToString())
            {
                DestYTextBox->Text = "";
            }

            if (ConquestComboBox->SelectedItem != getEnvir()->ConquestInfos.FirstOrDefault([&] (std::any x)
            {
                return x->Index == info->ConquestIndex;
            }))
            {
                ConquestComboBox->SelectedItem = nullptr;
            }
        }

    }

    void MapInfoForm::UpdateMineZoneInterface()
    {
        if (_selectedMapInfos.size() != 1)
        {
            MZListlistBox->Items->Clear();

            if (!_selectedMineZones.empty() && _selectedMineZones.size() > 0)
            {
                _selectedMineZones.clear();
            }
            _info = nullptr;

            MineZonepanel->Enabled = false;
            MZXtextBox->Text = "";
            MZYtextBox->Text = "";
            MineZoneComboBox->SelectedItem = nullptr;
            MZSizetextBox->Text = "";
            return;
        }

        if (_info != _selectedMapInfos[0])
        {
            MZListlistBox->Items->Clear();
            _info = _selectedMapInfos[0];
        }
        if (MZListlistBox->Items->Count != _info->MineZones.size())
        {
            MZListlistBox->Items->Clear();
            for (int i = 0; i < _info->MineZones.size(); i++)
            {
                MZListlistBox->Items->Add(_info->MineZones[i]);
            }
        }
        _selectedMineZones = MZListlistBox->SelectedItems.Cast<MineZone*>().ToList();
        if (_selectedMineZones.empty())
        {
            MineZonepanel->Enabled = false;
            MZXtextBox->Text = "";
            MZYtextBox->Text = "";
            MineZoneComboBox->SelectedItem = nullptr;
            MZSizetextBox->Text = "";
            return;
        }
        MineZone *info = _selectedMineZones[0];
        MineZonepanel->Enabled = true;

//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        MZXtextBox->Text = info->Location->X.ToString();
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        MZYtextBox->Text = info->Location->Y.ToString();
        MineZoneComboBox->SelectedIndex = info->Mine;
        MZSizetextBox->Text = std::to_string(info->Size);

        for (int i = 1; i < _selectedMineZones.size(); i++)
        {
            info = _selectedMineZones[i];

//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            if (MZXtextBox->Text != info->Location->X.ToString())
            {
                MZXtextBox->Text = "";
            }
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
            if (MZYtextBox->Text != info->Location->Y.ToString())
            {
                MZYtextBox->Text = "";
            }
            if (MineComboBox->SelectedIndex != info->Mine)
            {
                MineComboBox->SelectedIndex = 1;
            }
            if (MZSizetextBox->Text != std::to_string(info->Size))
            {
                MZSizetextBox->Text = "";
            }
        }
    }

    void MapInfoForm::RefreshMapList()
    {
        MapInfoListBox->SelectedIndexChanged -= MapInfoListBox_SelectedIndexChanged;

        std::vector<bool> selected;

        for (int i = 0; i < MapInfoListBox->Items->Count; i++)
        {
            selected.push_back(MapInfoListBox->GetSelected(i));
        }
        MapInfoListBox->Items->Clear();
        for (int i = 0; i < getEnvir()->MapInfoList.size(); i++)
        {
            MapInfoListBox->Items->Add(getEnvir()->MapInfoList[i]);
        }
        for (int i = 0; i < selected.size(); i++)
        {
            MapInfoListBox->SetSelected(i, selected[i]);
        }

        MapInfoListBox->SelectedIndexChanged += MapInfoListBox_SelectedIndexChanged;
    }

    void MapInfoForm::RefreshSafeZoneList()
    {
        SafeZoneInfoListBox->SelectedIndexChanged -= SafeZoneInfoListBox_SelectedIndexChanged;

        std::vector<bool> selected;

        for (int i = 0; i < SafeZoneInfoListBox->Items->Count; i++)
        {
            selected.push_back(SafeZoneInfoListBox->GetSelected(i));
        }
        SafeZoneInfoListBox->Items->Clear();
        for (int i = 0; i < _info->SafeZones.size(); i++)
        {
            SafeZoneInfoListBox->Items->Add(_info->SafeZones[i]);
        }
        for (int i = 0; i < selected.size(); i++)
        {
            SafeZoneInfoListBox->SetSelected(i, selected[i]);
        }

        SafeZoneInfoListBox->SelectedIndexChanged += SafeZoneInfoListBox_SelectedIndexChanged;
    }

    void MapInfoForm::RefreshRespawnList()
    {
        RespawnInfoListBox->SelectedIndexChanged -= RespawnInfoListBox_SelectedIndexChanged;

        std::vector<bool> selected;

        for (int i = 0; i < RespawnInfoListBox->Items->Count; i++)
        {
            selected.push_back(RespawnInfoListBox->GetSelected(i));
        }
        RespawnInfoListBox->Items->Clear();
        for (int i = 0; i < _info->Respawns.size(); i++)
        {
            RespawnInfoListBox->Items->Add(_info->Respawns[i]);
        }
        for (int i = 0; i < selected.size(); i++)
        {
            RespawnInfoListBox->SetSelected(i, selected[i]);
        }

        RespawnInfoListBox->SelectedIndexChanged += RespawnInfoListBox_SelectedIndexChanged;
    }

    void MapInfoForm::RefreshMovementList()
    {
        MovementInfoListBox->SelectedIndexChanged -= MovementInfoListBox_SelectedIndexChanged;

        std::vector<bool> selected;

        for (int i = 0; i < MovementInfoListBox->Items->Count; i++)
        {
            selected.push_back(MovementInfoListBox->GetSelected(i));
        }
        MovementInfoListBox->Items->Clear();
        for (int i = 0; i < _info->Movements.size(); i++)
        {
            MovementInfoListBox->Items->Add(_info->Movements[i]);
        }
        for (int i = 0; i < selected.size(); i++)
        {
            MovementInfoListBox->SetSelected(i, selected[i]);
        }

        MovementInfoListBox->SelectedIndexChanged += MovementInfoListBox_SelectedIndexChanged;
    }

    void MapInfoForm::RefreshMineZoneList()
    {

        MZListlistBox->SelectedIndexChanged -= MZListlistBox_SelectedIndexChanged;

        std::vector<bool> selected;

        for (int i = 0; i < MZListlistBox->Items->Count; i++)
        {
            selected.push_back(MZListlistBox->GetSelected(i));
        }
        MZListlistBox->Items->Clear();
        for (int i = 0; i < _info->MineZones.size(); i++)
        {
            MZListlistBox->Items->Add(_info->MineZones[i]);
        }
        for (int i = 0; i < selected.size(); i++)
        {
            MZListlistBox->SetSelected(i, selected[i]);
        }
        MZListlistBox->SelectedIndexChanged += MZListlistBox_SelectedIndexChanged;
    }

    void MapInfoForm::AddButton_Click(std::any sender, EventArgs *e)
    {
        getEnvir()->CreateMapInfo();
        UpdateInterface();
    }

    void MapInfoForm::RemoveButton_Click(std::any sender, EventArgs *e)
    {
        if (_selectedMapInfos.empty())
        {
            return;
        }

        if (MessageBox::Show("Are you sure you want to remove the selected maps?", "Remove Maps?", MessageBoxButtons::YesNo) != System::Windows::Forms::DialogResult::Yes)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            getEnvir()->Remove(_selectedMapInfos[i]);
        }

        if (getEnvir()->MapInfoList.empty())
        {
            getEnvir()->MapIndex = 0;
        }

        MapTabs->SelectTab(0);

        UpdateInterface();
    }

    void MapInfoForm::MapInfoListBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        SafeZoneInfoListBox->Items->Clear();
        RespawnInfoListBox->Items->Clear();
        MovementInfoListBox->Items->Clear();
        MZListlistBox->Items->Clear();
        UpdateInterface();
    }

    void MapInfoForm::FileNameTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->FileName = ActiveControl->Text;
        }
    }

    void MapInfoForm::MapNameTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->Title = ActiveControl->Text;
        }

        RefreshMapList();
    }

    void MapInfoForm::MiniMapTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        unsigned short temp;

        if (!unsigned short::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->MiniMap = temp;
        }
    }

    void MapInfoForm::LightsComboBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->Light = static_cast<LightSetting>(LightsComboBox->SelectedItem);
        }
    }

    void MapInfoForm::AddSZButton_Click(std::any sender, EventArgs *e)
    {
        if (_info == nullptr)
        {
            return;
        }

        _info->CreateSafeZone();
        UpdateSafeZoneInterface();
    }

    void MapInfoForm::RemoveSZButton_Click(std::any sender, EventArgs *e)
    {
        if (_selectedSafeZoneInfos.empty())
        {
            return;
        }

        if (MessageBox::Show("Are you sure you want to remove the selected SafeZones?", "Remove SafeZones?", MessageBoxButtons::YesNo) != System::Windows::Forms::DialogResult::Yes)
        {
            return;
        }

        for (int i = 0; i < _selectedSafeZoneInfos.size(); i++)
        {
            _info->SafeZones.Remove(_selectedSafeZoneInfos[i]);
        }

        UpdateSafeZoneInterface();
    }

    void MapInfoForm::SafeZoneInfoListBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        UpdateSafeZoneInterface();
    }

    void MapInfoForm::SZXTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedSafeZoneInfos.size(); i++)
        {
            _selectedSafeZoneInfos[i]->Location->X = temp;
        }

        RefreshSafeZoneList();
    }

    void MapInfoForm::SZYTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedSafeZoneInfos.size(); i++)
        {
            _selectedSafeZoneInfos[i]->Location->Y = temp;
        }

        RefreshSafeZoneList();
    }

    void MapInfoForm::SizeTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        unsigned short temp;

        if (!unsigned short::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedSafeZoneInfos.size(); i++)
        {
            _selectedSafeZoneInfos[i]->Size = temp;
        }
    }

    void MapInfoForm::StartPointCheckBox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedSafeZoneInfos.size(); i++)
        {
            _selectedSafeZoneInfos[i]->StartPoint = StartPointCheckBox->Checked;
        }

        RefreshSafeZoneList();
    }

    void MapInfoForm::AddRButton_Click(std::any sender, EventArgs *e)
    {
        if (_info == nullptr)
        {
            return;
        }

        _info->CreateRespawnInfo();
        UpdateRespawnInterface();
    }

    void MapInfoForm::RemoveRButton_Click(std::any sender, EventArgs *e)
    {
        if (_selectedRespawnInfos.empty())
        {
            return;
        }

        if (MessageBox::Show("Are you sure you want to remove the selected Respawns?", "Remove Respawns?", MessageBoxButtons::YesNo) != System::Windows::Forms::DialogResult::Yes)
        {
            return;
        }

        for (int i = 0; i < _selectedRespawnInfos.size(); i++)
        {
            _info->Respawns.Remove(_selectedRespawnInfos[i]);
        }

        UpdateRespawnInterface();
    }

    void MapInfoForm::RespawnInfoListBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        UpdateRespawnInterface();
    }

    void MapInfoForm::MonsterInfoComboBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        MonsterInfo *info = dynamic_cast<MonsterInfo*>(MonsterInfoComboBox->SelectedItem);

        if (info == nullptr)
        {
            return;
        }

        for (int i = 0; i < _selectedRespawnInfos.size(); i++)
        {
            _selectedRespawnInfos[i]->MonsterIndex = info->Index;
        }

        RefreshRespawnList();

    }

    void MapInfoForm::RXTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedRespawnInfos.size(); i++)
        {
            _selectedRespawnInfos[i]->Location->X = temp;
        }

        RefreshRespawnList();
    }

    void MapInfoForm::RYTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedRespawnInfos.size(); i++)
        {
            _selectedRespawnInfos[i]->Location->Y = temp;
        }

        RefreshRespawnList();
    }

    void MapInfoForm::CountTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        unsigned short temp;

        if (!unsigned short::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedRespawnInfos.size(); i++)
        {
            _selectedRespawnInfos[i]->Count = temp;
        }

        RefreshRespawnList();
    }

    void MapInfoForm::SpreadTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        unsigned short temp;

        if (!unsigned short::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedRespawnInfos.size(); i++)
        {
            _selectedRespawnInfos[i]->Spread = temp;
        }

        RefreshRespawnList();
    }

    void MapInfoForm::DelayTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        unsigned short temp;

        if (!unsigned short::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedRespawnInfos.size(); i++)
        {
            if (chkRespawnEnableTick->Checked)
            {
                _selectedRespawnInfos[i]->RespawnTicks = std::max(static_cast<unsigned short>(1), temp); //you can never have respawnticks set to 0 or it would bug the entire thing really
                _selectedRespawnInfos[i]->Delay = 0;
            }
            else
            {
                _selectedRespawnInfos[i]->Delay = temp;
                _selectedRespawnInfos[i]->RespawnTicks = 0;
            }
        }

        RefreshRespawnList();
    }

    void MapInfoForm::DirectionTextBox_TextChanged(std::any sender, EventArgs *e)
    {

        if (ActiveControl != sender)
        {
            return;
        }

        unsigned char temp;

        if (!unsigned char::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedRespawnInfos.size(); i++)
        {
            _selectedRespawnInfos[i]->Direction = temp;
        }

        RefreshRespawnList();
    }

    void MapInfoForm::RoutePathTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedRespawnInfos.size(); i++)
        {
            _selectedRespawnInfos[i]->RoutePath = ActiveControl->Text;
        }

        RefreshRespawnList();
    }

    void MapInfoForm::RPasteButton_Click(std::any sender, EventArgs *e)
    {
        if (_info == nullptr)
        {
            return;
        }

        std::string data = Clipboard::GetText();

        if (!data.StartsWith("Respawn", StringComparison::OrdinalIgnoreCase))
        {
            MessageBox::Show("Cannot Paste, Copied data is not Respawn Information.");
            return;
        }


        std::vector<std::string> respawns = data.Split({'\t'}, StringSplitOptions::RemoveEmptyEntries);


        for (int i = 1; i < respawns.size(); i++)
        {
            RespawnInfo *info = RespawnInfo::FromText(respawns[i]);

            if (info == nullptr)
            {
                continue;
            }

            _info->Respawns.push_back(info);
        }

        UpdateRespawnInterface();
    }

    void MapInfoForm::AddMButton_Click(std::any sender, EventArgs *e)
    {
        if (_info == nullptr)
        {
            return;
        }

        _info->CreateMovementInfo();
        UpdateMovementInterface();
    }

    void MapInfoForm::RemoveMButton_Click(std::any sender, EventArgs *e)
    {
        if (_selectedMovementInfos.empty())
        {
            return;
        }

        if (MessageBox::Show("Are you sure you want to remove the selected Movements?", "Remove Movements?", MessageBoxButtons::YesNo) != System::Windows::Forms::DialogResult::Yes)
        {
            return;
        }

        for (int i = 0; i < _selectedMovementInfos.size(); i++)
        {
            _info->Movements.Remove(_selectedMovementInfos[i]);
        }

        UpdateMovementInterface();
    }

    void MapInfoForm::SourceXTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMovementInfos.size(); i++)
        {
            _selectedMovementInfos[i]->Source->X = temp;
        }

        RefreshMovementList();
    }

    void MapInfoForm::SourceYTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMovementInfos.size(); i++)
        {
            _selectedMovementInfos[i]->Source->Y = temp;
        }

        RefreshMovementList();
    }

    void MapInfoForm::DestXTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMovementInfos.size(); i++)
        {
            _selectedMovementInfos[i]->Destination->X = temp;
        }

        RefreshMovementList();
    }

    void MapInfoForm::DestYTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMovementInfos.size(); i++)
        {
            _selectedMovementInfos[i]->Destination->Y = temp;
        }

        RefreshMovementList();
    }

    void MapInfoForm::DestMapComboBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        MapInfo *info = dynamic_cast<MapInfo*>(DestMapComboBox->SelectedItem);

        if (info == nullptr)
        {
            return;
        }

        for (int i = 0; i < _selectedMovementInfos.size(); i++)
        {
            _selectedMovementInfos[i]->MapIndex = info->Index;
        }

        RefreshMovementList();

    }

    void MapInfoForm::NeedHoleMCheckBox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMovementInfos.size(); i++)
        {
            _selectedMovementInfos[i]->NeedHole = NeedHoleMCheckBox->Checked;
        }
    }

    void MapInfoForm::NeedScriptMCheckBox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMovementInfos.size(); i++)
        {
            _selectedMovementInfos[i]->NeedMove = NeedMoveMCheckBox->Checked;
        }
    }

    void MapInfoForm::MovementInfoListBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        UpdateMovementInterface();
    }

    void MapInfoForm::PasteMapButton_Click(std::any sender, EventArgs *e)
    {
        std::string data = Clipboard::GetText();

        if (!data.StartsWith("Map", StringComparison::OrdinalIgnoreCase))
        {
            MessageBox::Show("Cannot Paste, Copied data is not Map Information.");
            return;
        }


        std::vector<std::string> monsters = data.Split({'\t'}, StringSplitOptions::RemoveEmptyEntries);


        for (int i = 1; i < monsters.size(); i++)
        {
            MapInfo::FromText(monsters[i]);
        }

        UpdateInterface();
    }

    void MapInfoForm::BigMapTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        unsigned short temp;

        if (!unsigned short::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->BigMap = temp;
        }
    }

    void MapInfoForm::NoTeleportCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoTeleport = NoTeleportCheckbox->Checked;
        }
    }

    void MapInfoForm::NoReconnectCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoReconnect = NoReconnectCheckbox->Checked;
        }
    }

    void MapInfoForm::NoReconnectTextbox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoReconnectMap = ActiveControl->Text;
        }
    }

    void MapInfoForm::NoRandomCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoRandom = NoRandomCheckbox->Checked;
        }
    }

    void MapInfoForm::NoEscapeCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoEscape = NoEscapeCheckbox->Checked;
        }
    }

    void MapInfoForm::NoRecallCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoRecall = NoRecallCheckbox->Checked;
        }
    }

    void MapInfoForm::NoDrugCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoDrug = NoDrugCheckbox->Checked;
        }
    }

    void MapInfoForm::NoPositionCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoPosition = NoPositionCheckbox->Checked;
        }
    }

    void MapInfoForm::NoThrowItemCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoThrowItem = NoThrowItemCheckbox->Checked;
        }
    }

    void MapInfoForm::NoDropPlayerCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoDropPlayer = NoDropPlayerCheckbox->Checked;
        }
    }

    void MapInfoForm::NoDropMonsterCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoDropMonster = NoDropMonsterCheckbox->Checked;
        }
    }

    void MapInfoForm::NoNamesCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoNames = NoNamesCheckbox->Checked;
        }
    }

    void MapInfoForm::FightCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->Fight = FightCheckbox->Checked;
        }
    }

    void MapInfoForm::FireCheckbox_CheckStateChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->Fire = FireCheckbox->Checked;
        }
    }

    void MapInfoForm::FireTextbox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->FireDamage = temp;
        }
    }

    void MapInfoForm::LightningCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->Lightning = LightningCheckbox->Checked;
        }
    }

    void MapInfoForm::LightningTextbox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->LightningDamage = temp;
        }
    }

    void MapInfoForm::ClearHButton_Click(std::any sender, EventArgs *e)
    {

    }

    void MapInfoForm::MapDarkLighttextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        unsigned char temp;

        if (!unsigned char::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->MapDarkLight = temp;
        }
    }

    void MapInfoForm::MZDeletebutton_Click(std::any sender, EventArgs *e)
    {
        if (_selectedMineZones.empty())
        {
            return;
        }

        if (MessageBox::Show("Are you sure you want to remove the selected MineZones?", "Remove MineZones?", MessageBoxButtons::YesNo) != System::Windows::Forms::DialogResult::Yes)
        {
            return;
        }

        for (int i = 0; i < _selectedMineZones.size(); i++)
        {
            _info->MineZones.Remove(_selectedMineZones[i]);
        }
        UpdateMineZoneInterface();
    }

    void MapInfoForm::MZAddbutton_Click(std::any sender, EventArgs *e)
    {
        if (_info == nullptr)
        {
            return;
        }

        MineZone tempVar();
        _info->MineZones.push_back(&tempVar);
        UpdateMineZoneInterface();
    }

    void MapInfoForm::MZListlistBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        UpdateMineZoneInterface();
    }

    void MapInfoForm::MZMineIndextextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        unsigned char temp;

        if ((!unsigned char::TryParse(ActiveControl->Text, temp)) || (Settings::MineSetList.size() < temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMineZones.size(); i++)
        {
            _selectedMineZones[i]->Mine = temp;
        }
        RefreshMineZoneList();
    }

    void MapInfoForm::MZXtextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMineZones.size(); i++)
        {
            _selectedMineZones[i]->Location->X = temp;
        }
        RefreshMineZoneList();
    }

    void MapInfoForm::MZYtextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        int temp;

        if (!int::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMineZones.size(); i++)
        {
            _selectedMineZones[i]->Location->Y = temp;
        }
        RefreshMineZoneList();
    }

    void MapInfoForm::MZSizetextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        unsigned short temp;

        if (!unsigned short::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMineZones.size(); i++)
        {
            _selectedMineZones[i]->Size = temp;
        }
        RefreshMineZoneList();
    }

    void MapInfoForm::ImportMapInfoButton_Click(std::any sender, EventArgs *e)
    {
        OpenFileDialog *ofd = new OpenFileDialog();
        ofd->Filter = "Text File|*.txt";
        ofd->ShowDialog();

        if (ofd->FileName == "")
        {
            delete ofd;
            return;
        }

        MirForms::ConvertMapInfo::Path = ofd->FileName;
        MirForms::ConvertMapInfo::Start(getEnvir());

        MirForms::ConvertMapInfo::End();
        UpdateInterface();

        delete ofd;
    }

    void MapInfoForm::ExportMapInfoButton_Click(std::any sender, EventArgs *e)
    {
        if (_selectedMapInfos.empty())
        {
            return;
        }

        SaveFileDialog *sfd = new SaveFileDialog();
        sfd->InitialDirectory = FileSystem::combine(Application::StartupPath, "Exports");
        sfd->FileName = "MapInfoExport";
        sfd->Filter = "Text File|*.txt";
        sfd->ShowDialog();

        if (sfd->FileName == "")
        {
            delete sfd;
            return;
        }
        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
//C# TO C++ CONVERTER NOTE: The following 'using' block is replaced by its C++ equivalent:
//ORIGINAL LINE: using (StreamWriter sw = File.AppendText(sfd.FileNames[0]))
            {
                StreamWriter sw = File::AppendText(sfd->FileNames[0]);
                std::string textOut = "";
                textOut += StringHelper::formatSimple("[{0} {1}]", _selectedMapInfos[i]->FileName, StringHelper::replace(_selectedMapInfos[i]->Title, ' ', '*'));

                textOut += " LIGHT(" + _selectedMapInfos[i]->Light + ")";
                textOut += " MINIMAP(" + std::to_string(_selectedMapInfos[i]->MiniMap) + ")";
                textOut += " BIGMAP(" + std::to_string(_selectedMapInfos[i]->BigMap) + ")";
                textOut += " MAPLIGHT(" + std::to_string(_selectedMapInfos[i]->MapDarkLight) + ")";
                textOut += " MINE(" + std::to_string(_selectedMapInfos[i]->MineIndex) + ")";
                textOut += " MUSIC(" + std::to_string(_selectedMapInfos[i]->Music) + ")";
                textOut += PrintMapAttributes(_selectedMapInfos[i]);
                sw.WriteLine(textOut);

                //STARTZONE(0,150,150,50) || SAFEZONE(0,150,150,50)
                for (int j = 0; j < _selectedMapInfos[i]->SafeZones.size(); j++)
                {
                    std::string safeZoneOut = _selectedMapInfos[i]->SafeZones[j].StartPoint ? "STARTZONE" : "SAFEZONE";
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
                    safeZoneOut += "(" + _selectedMapInfos[i]->FileName + "," + _selectedMapInfos[i]->SafeZones[j].Size.ToString() + "," + _selectedMapInfos[i]->SafeZones[j].Location->X.ToString() + "," + _selectedMapInfos[i]->SafeZones[j].Location->Y.ToString() + ")";
                    sw.WriteLine(safeZoneOut);
                }
                for (int j = 0; j < _selectedMapInfos[i]->Movements.size(); j++)
                {
                    try
                    {
                        std::string movement = std::string::Format("{0} {1} {2} {3} {4} {5}", _selectedMapInfos[i]->FileName, _selectedMapInfos[i]->Movements[j].Source->X + "," + _selectedMapInfos[i]->Movements[j].Source->Y, "->", getEnvir()->MapInfoList[_selectedMapInfos[i]->Movements[j].MapIndex - 1]->FileName, _selectedMapInfos[i]->Movements[j].Destination->X + "," + _selectedMapInfos[i]->Movements[j].Destination->Y, (_selectedMapInfos[i]->Movements[j].NeedHole ? "NEEDHOLE " : "") + (_selectedMapInfos[i]->Movements[j].NeedMove ? "NEEDMOVE " : "") + (_selectedMapInfos[i]->Movements[j].ConquestIndex > 0 ? "NEEDCONQUEST(" + std::to_string(_selectedMapInfos[i]->Movements[j].ConquestIndex) + ")" : ""));

                        sw.WriteLine(movement);
                    }
                    catch (...)
                    {
                        continue;
                    }
                }
                for (int j = 0; j < _selectedMapInfos[i]->MineZones.size(); j++)
                {
                    try
                    {
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
                        std::string mineZones = std::string::Format("MINEZONE {0} -> {1} {2} {3} {4}", _selectedMapInfos[i]->FileName, _selectedMapInfos[i]->MineZones[j].Mine.ToString(), _selectedMapInfos[i]->MineZones[j].Location->X.ToString(), _selectedMapInfos[i]->MineZones[j].Location->Y.ToString(), _selectedMapInfos[i]->MineZones[j].Size.ToString());
                        sw.WriteLine(mineZones);
                    }
                    catch (...)
                    {
                        continue;
                    }
                }
            }
        }
        MessageBox::Show("Map Info Export Complete");

        delete sfd;
    }

    std::string MapInfoForm::PrintMapAttributes(MapInfo *map)
    {
        std::string textOut = "";
        if (map->NoTeleport)
        {
            textOut += " NOTELEPORT";
        }
        if (map->NoReconnect)
        {
            textOut += " NORECONNECT(" + map->NoReconnectMap + ")";
        }
        if (map->NoRandom)
        {
            textOut += " NORANDOMMOVE";
        }
        if (map->NoEscape)
        {
            textOut += " NOESCAPE";
        }
        if (map->NoRecall)
        {
            textOut += " NORECALL";
        }
        if (map->NoDrug)
        {
            textOut += " NODRUG";
        }
        if (map->NoPosition)
        {
            textOut += " NOPOSITIONMOVE";
        }
        if (map->NoThrowItem)
        {
            textOut += " NOTHROWITEM";
        }
        if (map->NoDropPlayer)
        {
            textOut += " NOPLAYERDROP";
        }
        if (map->NoDropMonster)
        {
            textOut += " NOMONSTERDROP";
        }
        if (map->NoNames)
        {
            textOut += " NONAMES";
        }
        if (map->NoMount)
        {
            textOut += " NOMOUNT";
        }
        if (map->NeedBridle)
        {
            textOut += " NEEDBRIDLE";
        }
        if (map->NoFight)
        {
            textOut += " NOFIGHT";
        }
        if (map->Fight)
        {
            textOut += " FIGHT";
        }
        if (map->Fire)
        {
            textOut += " FIRE(" + std::to_string(map->FireDamage) + ")";
        }
        if (map->Lightning)
        {
            textOut += " LIGHTNING(" + std::to_string(map->LightningDamage) + ")";
        }
        if (map->NoTownTeleport)
        {
            textOut += " NOTownTeleport";
        }
        return textOut;
    }

    void MapInfoForm::ImportMonGenButton_Click(std::any sender, EventArgs *e)
    {
        bool hasImported = false;

        if (getEnvir()->MapInfoList.empty())
        {
            return;
        }

        MirForms::ConvertMonGenInfo::Start();

        for (int i = 0; i < MirForms::ConvertMonGenInfo::monGenList.size(); i++)
        {
            try
            {
                int monsterIndex = getEnvir()->MonsterInfoList.Find([&] (std::any a)
                {
                    return a->Name.Replace(" ", "") == StringHelper::replace(MirForms::ConvertMonGenInfo::monGenList[i]->Name, '*', ' ');
                })->Index;
                if (monsterIndex == -1)
                {
                    continue;
                }

                RespawnInfo *respawnInfo = new RespawnInfo();
                respawnInfo->MonsterIndex = monsterIndex;
                respawnInfo->Location = new Point(MirForms::ConvertMonGenInfo::monGenList[i]->X, MirForms::ConvertMonGenInfo::monGenList[i]->Y);
                respawnInfo->Count = static_cast<unsigned short>(MirForms::ConvertMonGenInfo::monGenList[i]->Count);
                respawnInfo->Spread = static_cast<unsigned short>(MirForms::ConvertMonGenInfo::monGenList[i]->Range);
                respawnInfo->Delay = static_cast<unsigned short>(MirForms::ConvertMonGenInfo::monGenList[i]->Delay);
                respawnInfo->Direction = static_cast<unsigned char>(MirForms::ConvertMonGenInfo::monGenList[i]->Direction);
                setEnvir(getEnvir() + 1);
                respawnInfo->RespawnIndex = getEnvir()->RespawnIndex;

                int index = getEnvir()->MapInfoList.FindIndex([&] (std::any a)
                {
                    return a->FileName == MirForms::ConvertMonGenInfo::monGenList[i]->Map;
                });
                if (index == -1)
                {
                    delete respawnInfo;
                    continue;
                }

                getEnvir()->MapInfoList[index]->Respawns.push_back(respawnInfo);
                hasImported = true;

//C# TO C++ CONVERTER TODO TASK: A 'delete respawnInfo' statement was not added since respawnInfo was passed to a method or constructor. Handle memory management manually.
            }
            catch (const std::runtime_error &e1)
            {
                continue;
            }
        }
        MirForms::ConvertMonGenInfo::Stop();

        if (!hasImported)
        {
            return;
        }

        UpdateInterface();
        MessageBox::Show("MonGen Import complete");
    }

    void MapInfoForm::ExportMonGenButton_Click(std::any sender, EventArgs *e)
    {
        if (_selectedMapInfos.empty())
        {
            return;
        }

        SaveFileDialog *sfd = new SaveFileDialog();
        sfd->InitialDirectory = FileSystem::combine(Application::StartupPath, "Exports");
        sfd->Filter = "Text File|*.txt";
        sfd->ShowDialog();

        if (sfd->FileName == "")
        {
            delete sfd;
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
//C# TO C++ CONVERTER NOTE: The following 'using' block is replaced by its C++ equivalent:
//ORIGINAL LINE: using (StreamWriter sw = File.AppendText(sfd.FileNames[0]))
            {
                StreamWriter sw = File::AppendText(sfd->FileNames[0]);
                for (int j = 0; j < _selectedMapInfos[i]->Respawns.size(); j++)
                {
                    MonsterInfo *mob = getEnvir()->GetMonsterInfo(_selectedMapInfos[i]->Respawns[j].MonsterIndex);

                    if (mob == nullptr)
                    {
                        continue;
                    }

                    std::string Output = std::string::Format("{0} {1} {2} {3} {4} {5} {6} {7}", _selectedMapInfos[i]->FileName, _selectedMapInfos[i]->Respawns[j].Location->X, _selectedMapInfos[i]->Respawns[j].Location->Y, StringHelper::replace(mob->Name, ' ', '*'), _selectedMapInfos[i]->Respawns[j].Spread, _selectedMapInfos[i]->Respawns[j]->Count, _selectedMapInfos[i]->Respawns[j].Delay, _selectedMapInfos[i]->Respawns[j].Direction);

                    sw.WriteLine(Output);
                }
            }
        }
        MessageBox::Show("MonGen Export complete");

        delete sfd;
    }

    void MapInfoForm::VisualizerButton_Click(std::any sender, EventArgs *e)
    {
        if (_selectedMapInfos.size() != 1)
        {
            return;
        }

        MirForms::VisualMapInfo::VForm *VForm = new MirForms::VisualMapInfo::VForm();
        MirForms::VisualMapInfo::Class::VisualizerGlobal::MapInfo = _selectedMapInfos[0];
        VForm->FormClosed += VForm_Disposed;

        VForm->ShowDialog();

        _selectedMapInfos[0] = MirForms::VisualMapInfo::Class::VisualizerGlobal::MapInfo;
        UpdateMineZoneInterface();
        UpdateRespawnInterface();

        delete VForm;
    }

    void MapInfoForm::VForm_Disposed(std::any sender, EventArgs *e)
    {
        RefreshRespawnList();
        RefreshMineZoneList();
    }

    void MapInfoForm::MineComboBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->MineIndex = static_cast<unsigned char>(MineComboBox->SelectedIndex);
        }
    }

    void MapInfoForm::MineZoneComboBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMineZones.size(); i++)
        {
            _selectedMineZones[i]->Mine = static_cast<unsigned char>(MineZoneComboBox->SelectedIndex);
        }

        RefreshMineZoneList();
    }

    void MapInfoForm::NoMountCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoMount = NoMountCheckbox->Checked;
        }
    }

    void MapInfoForm::NeedBridleCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NeedBridle = NeedBridleCheckbox->Checked;
        }
    }

    void MapInfoForm::NoFightCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoFight = NoFightCheckbox->Checked;
        }
    }

    void MapInfoForm::MusicTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }
        unsigned short temp;
        if (!unsigned short::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }

        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->Music = temp;
        }
    }

    void MapInfoForm::RandomTextBox_TextChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        unsigned short temp;

        if (!unsigned short::TryParse(ActiveControl->Text, temp))
        {
            ActiveControl->BackColor = Color::Red;
            return;
        }
        ActiveControl->BackColor = SystemColors::Window;


        for (int i = 0; i < _selectedRespawnInfos.size(); i++)
        {
            _selectedRespawnInfos[i]->RandomDelay = temp;
        }

        RefreshRespawnList();
    }

    void MapInfoForm::chkRespawnEnableTick_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }
        if (chkRespawnEnableTick->Checked)
        {
            chkrespawnsave->Enabled = true;
            for (int i = 0; i < _selectedRespawnInfos.size(); i++)
            {
                _selectedRespawnInfos[i]->RespawnTicks = _selectedRespawnInfos[i]->Delay;
                _selectedRespawnInfos[i]->Delay = 0;
            }
        }
        else
        {
            chkrespawnsave->Enabled = false;
            for (int i = 0; i < _selectedRespawnInfos.size(); i++)
            {
                _selectedRespawnInfos[i]->Delay = _selectedRespawnInfos[i]->RespawnTicks;
                _selectedRespawnInfos[i]->RespawnTicks = 0;
            }
        }
        RefreshRespawnList();

    }

    void MapInfoForm::chkrespawnsave_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }
        if (chkRespawnEnableTick->Checked)
        {
            for (int i = 0; i < _selectedRespawnInfos.size(); i++)
            {
                _selectedRespawnInfos[i]->SaveRespawnTime = chkrespawnsave->Checked;
            }
        }
        RefreshRespawnList();
    }

    void MapInfoForm::ConquestComboBox_SelectedIndexChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        ConquestInfo *info = dynamic_cast<ConquestInfo*>(ConquestComboBox->SelectedItem);

        if (info == nullptr)
        {
            return;
        }

        for (int i = 0; i < _selectedMovementInfos.size(); i++)
        {
            _selectedMovementInfos[i]->ConquestIndex = info->Index;
        }

        RefreshMovementList();
    }

    void MapInfoForm::NoTownTeleportCheckbox_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }

        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoTownTeleport = NoTownTeleportCheckbox->Checked;
        }
    }

    void MapInfoForm::NoReincarnation_CheckedChanged(std::any sender, EventArgs *e)
    {
        if (ActiveControl != sender)
        {
            return;
        }
        for (int i = 0; i < _selectedMapInfos.size(); i++)
        {
            _selectedMapInfos[i]->NoReincarnation = NoReincarnation->Checked;
        }
    }

    void MapInfoForm::Dispose(bool disposing)
    {
        if (disposing && (components != nullptr))
        {
            components->Dispose();
        }
        System::Windows::Forms::Form::Dispose(disposing);
    }

    void MapInfoForm::InitializeComponent()
    {
        this->components = new System::ComponentModel::Container();
        this->MapTabs = new System::Windows::Forms::TabControl();
        this->tabPage1 = new System::Windows::Forms::TabPage();
        this->label11 = new System::Windows::Forms::Label();
        this->MusicTextBox = new System::Windows::Forms::TextBox();
        this->label33 = new System::Windows::Forms::Label();
        this->MineComboBox = new System::Windows::Forms::ComboBox();
        this->label15 = new System::Windows::Forms::Label();
        this->BigMapTextBox = new System::Windows::Forms::TextBox();
        this->LightsComboBox = new System::Windows::Forms::ComboBox();
        this->label5 = new System::Windows::Forms::Label();
        this->label1 = new System::Windows::Forms::Label();
        this->label4 = new System::Windows::Forms::Label();
        this->MapIndexTextBox = new System::Windows::Forms::TextBox();
        this->MiniMapTextBox = new System::Windows::Forms::TextBox();
        this->label2 = new System::Windows::Forms::Label();
        this->MapNameTextBox = new System::Windows::Forms::TextBox();
        this->FileNameTextBox = new System::Windows::Forms::TextBox();
        this->label3 = new System::Windows::Forms::Label();
        this->tabPage6 = new System::Windows::Forms::TabPage();
        this->NoTownTeleportCheckbox = new System::Windows::Forms::CheckBox();
        this->NoFightCheckbox = new System::Windows::Forms::CheckBox();
        this->NeedBridleCheckbox = new System::Windows::Forms::CheckBox();
        this->NoMountCheckbox = new System::Windows::Forms::CheckBox();
        this->label19 = new System::Windows::Forms::Label();
        this->MapDarkLighttextBox = new System::Windows::Forms::TextBox();
        this->NoNamesCheckbox = new System::Windows::Forms::CheckBox();
        this->NoDropMonsterCheckbox = new System::Windows::Forms::CheckBox();
        this->NoDropPlayerCheckbox = new System::Windows::Forms::CheckBox();
        this->NoThrowItemCheckbox = new System::Windows::Forms::CheckBox();
        this->NoPositionCheckbox = new System::Windows::Forms::CheckBox();
        this->NoDrugCheckbox = new System::Windows::Forms::CheckBox();
        this->NoRecallCheckbox = new System::Windows::Forms::CheckBox();
        this->NoEscapeCheckbox = new System::Windows::Forms::CheckBox();
        this->NoRandomCheckbox = new System::Windows::Forms::CheckBox();
        this->LightningTextbox = new System::Windows::Forms::TextBox();
        this->FireTextbox = new System::Windows::Forms::TextBox();
        this->NoReconnectTextbox = new System::Windows::Forms::TextBox();
        this->LightningCheckbox = new System::Windows::Forms::CheckBox();
        this->FireCheckbox = new System::Windows::Forms::CheckBox();
        this->FightCheckbox = new System::Windows::Forms::CheckBox();
        this->NoReconnectCheckbox = new System::Windows::Forms::CheckBox();
        this->NoTeleportCheckbox = new System::Windows::Forms::CheckBox();
        this->tabPage3 = new System::Windows::Forms::TabPage();
        this->RemoveSZButton = new System::Windows::Forms::Button();
        this->AddSZButton = new System::Windows::Forms::Button();
        this->SafeZoneInfoPanel = new System::Windows::Forms::Panel();
        this->label12 = new System::Windows::Forms::Label();
        this->SZYTextBox = new System::Windows::Forms::TextBox();
        this->label14 = new System::Windows::Forms::Label();
        this->SizeTextBox = new System::Windows::Forms::TextBox();
        this->label17 = new System::Windows::Forms::Label();
        this->SZXTextBox = new System::Windows::Forms::TextBox();
        this->StartPointCheckBox = new System::Windows::Forms::CheckBox();
        this->SafeZoneInfoListBox = new System::Windows::Forms::ListBox();
        this->tabPage2 = new System::Windows::Forms::TabPage();
        this->RPasteButton = new System::Windows::Forms::Button();
        this->RCopyButton = new System::Windows::Forms::Button();
        this->RemoveRButton = new System::Windows::Forms::Button();
        this->AddRButton = new System::Windows::Forms::Button();
        this->RespawnInfoListBox = new System::Windows::Forms::ListBox();
        this->RespawnInfoPanel = new System::Windows::Forms::Panel();
        this->chkrespawnsave = new System::Windows::Forms::CheckBox();
        this->chkRespawnEnableTick = new System::Windows::Forms::CheckBox();
        this->Randomtextbox = new System::Windows::Forms::TextBox();
        this->label23 = new System::Windows::Forms::Label();
        this->label34 = new System::Windows::Forms::Label();
        this->RoutePathTextBox = new System::Windows::Forms::TextBox();
        this->label24 = new System::Windows::Forms::Label();
        this->DirectionTextBox = new System::Windows::Forms::TextBox();
        this->label8 = new System::Windows::Forms::Label();
        this->DelayTextBox = new System::Windows::Forms::TextBox();
        this->label7 = new System::Windows::Forms::Label();
        this->MonsterInfoComboBox = new System::Windows::Forms::ComboBox();
        this->label6 = new System::Windows::Forms::Label();
        this->SpreadTextBox = new System::Windows::Forms::TextBox();
        this->label9 = new System::Windows::Forms::Label();
        this->RYTextBox = new System::Windows::Forms::TextBox();
        this->label10 = new System::Windows::Forms::Label();
        this->CountTextBox = new System::Windows::Forms::TextBox();
        this->label13 = new System::Windows::Forms::Label();
        this->RXTextBox = new System::Windows::Forms::TextBox();
        this->tabPage4 = new System::Windows::Forms::TabPage();
        this->RemoveMButton = new System::Windows::Forms::Button();
        this->AddMButton = new System::Windows::Forms::Button();
        this->MovementInfoPanel = new System::Windows::Forms::Panel();
        this->label25 = new System::Windows::Forms::Label();
        this->ConquestComboBox = new System::Windows::Forms::ComboBox();
        this->NeedMoveMCheckBox = new System::Windows::Forms::CheckBox();
        this->NeedHoleMCheckBox = new System::Windows::Forms::CheckBox();
        this->label22 = new System::Windows::Forms::Label();
        this->DestMapComboBox = new System::Windows::Forms::ComboBox();
        this->label18 = new System::Windows::Forms::Label();
        this->DestYTextBox = new System::Windows::Forms::TextBox();
        this->label21 = new System::Windows::Forms::Label();
        this->DestXTextBox = new System::Windows::Forms::TextBox();
        this->label16 = new System::Windows::Forms::Label();
        this->SourceYTextBox = new System::Windows::Forms::TextBox();
        this->label20 = new System::Windows::Forms::Label();
        this->SourceXTextBox = new System::Windows::Forms::TextBox();
        this->MovementInfoListBox = new System::Windows::Forms::ListBox();
        this->tabPage7 = new System::Windows::Forms::TabPage();
        this->MZDeletebutton = new System::Windows::Forms::Button();
        this->MZAddbutton = new System::Windows::Forms::Button();
        this->MineZonepanel = new System::Windows::Forms::Panel();
        this->label27 = new System::Windows::Forms::Label();
        this->MineZoneComboBox = new System::Windows::Forms::ComboBox();
        this->label30 = new System::Windows::Forms::Label();
        this->MZYtextBox = new System::Windows::Forms::TextBox();
        this->label31 = new System::Windows::Forms::Label();
        this->MZSizetextBox = new System::Windows::Forms::TextBox();
        this->label32 = new System::Windows::Forms::Label();
        this->MZXtextBox = new System::Windows::Forms::TextBox();
        this->MZListlistBox = new System::Windows::Forms::ListBox();
        this->RemoveButton = new System::Windows::Forms::Button();
        this->AddButton = new System::Windows::Forms::Button();
        this->MapInfoListBox = new System::Windows::Forms::ListBox();
        this->PasteMapButton = new System::Windows::Forms::Button();
        this->CopyMapButton = new System::Windows::Forms::Button();
        this->ImportMapInfoButton = new System::Windows::Forms::Button();
        this->ExportMapInfoButton = new System::Windows::Forms::Button();
        this->ImportMongenButton = new System::Windows::Forms::Button();
        this->ExportMongenButton = new System::Windows::Forms::Button();
        this->VisualizerButton = new System::Windows::Forms::Button();
        this->toolTip1 = new System::Windows::Forms::ToolTip(this->components);
        this->NoReincarnation = new System::Windows::Forms::CheckBox();
        this->MapTabs->SuspendLayout();
        this->tabPage1->SuspendLayout();
        this->tabPage6->SuspendLayout();
        this->tabPage3->SuspendLayout();
        this->SafeZoneInfoPanel->SuspendLayout();
        this->tabPage2->SuspendLayout();
        this->RespawnInfoPanel->SuspendLayout();
        this->tabPage4->SuspendLayout();
        this->MovementInfoPanel->SuspendLayout();
        this->tabPage7->SuspendLayout();
        this->MineZonepanel->SuspendLayout();
        this->SuspendLayout();
        // 
        // MapTabs
        // 
        this->MapTabs->Anchor = (static_cast<System::Windows::Forms::AnchorStyles*>((((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left) | System::Windows::Forms::AnchorStyles::Right)));
        this->MapTabs->Controls->Add(this->tabPage1);
        this->MapTabs->Controls->Add(this->tabPage6);
        this->MapTabs->Controls->Add(this->tabPage3);
        this->MapTabs->Controls->Add(this->tabPage2);
        this->MapTabs->Controls->Add(this->tabPage4);
        this->MapTabs->Controls->Add(this->tabPage7);
        this->MapTabs->Location = new System::Drawing::Point(207, 57);
        this->MapTabs->Name = "MapTabs";
        this->MapTabs->SelectedIndex = 0;
        this->MapTabs->Size = new System::Drawing::Size(540, 252);
        this->MapTabs->TabIndex = 8;
        // 
        // tabPage1
        // 
        this->tabPage1->Controls->Add(this->label11);
        this->tabPage1->Controls->Add(this->MusicTextBox);
        this->tabPage1->Controls->Add(this->label33);
        this->tabPage1->Controls->Add(this->MineComboBox);
        this->tabPage1->Controls->Add(this->label15);
        this->tabPage1->Controls->Add(this->BigMapTextBox);
        this->tabPage1->Controls->Add(this->LightsComboBox);
        this->tabPage1->Controls->Add(this->label5);
        this->tabPage1->Controls->Add(this->label1);
        this->tabPage1->Controls->Add(this->label4);
        this->tabPage1->Controls->Add(this->MapIndexTextBox);
        this->tabPage1->Controls->Add(this->MiniMapTextBox);
        this->tabPage1->Controls->Add(this->label2);
        this->tabPage1->Controls->Add(this->MapNameTextBox);
        this->tabPage1->Controls->Add(this->FileNameTextBox);
        this->tabPage1->Controls->Add(this->label3);
        this->tabPage1->Location = new System::Drawing::Point(4, 22);
        this->tabPage1->Name = "tabPage1";
        this->tabPage1->Padding = new System::Windows::Forms::Padding(3);
        this->tabPage1->Size = new System::Drawing::Size(532, 226);
        this->tabPage1->TabIndex = 0;
        this->tabPage1->Text = "Info";
        this->tabPage1->UseVisualStyleBackColor = true;
        // 
        // label11
        // 
        this->label11->AutoSize = true;
        this->label11->Location = new System::Drawing::Point(38, 167);
        this->label11->Name = "label11";
        this->label11->Size = new System::Drawing::Size(41, 12);
        this->label11->TabIndex = 18;
        this->label11->Text = "Music:";
        // 
        // MusicTextBox
        // 
        this->MusicTextBox->Location = new System::Drawing::Point(82, 164);
        this->MusicTextBox->Name = "MusicTextBox";
        this->MusicTextBox->Size = new System::Drawing::Size(92, 21);
        this->MusicTextBox->TabIndex = 17;
        this->MusicTextBox->TextChanged += new System::EventHandler(this->MusicTextBox_TextChanged);
        // 
        // label33
        // 
        this->label33->AutoSize = true;
        this->label33->Location = new System::Drawing::Point(16, 141);
        this->label33->Name = "label33";
        this->label33->Size = new System::Drawing::Size(65, 12);
        this->label33->TabIndex = 16;
        this->label33->Text = "Mine Type:";
        // 
        // MineComboBox
        // 
        this->MineComboBox->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
        this->MineComboBox->FormattingEnabled = true;
        this->MineComboBox->Location = new System::Drawing::Point(82, 138);
        this->MineComboBox->Name = "MineComboBox";
        this->MineComboBox->Size = new System::Drawing::Size(92, 20);
        this->MineComboBox->TabIndex = 15;
        this->MineComboBox->SelectedIndexChanged += new System::EventHandler(this->MineComboBox_SelectedIndexChanged);
        // 
        // label15
        // 
        this->label15->AutoSize = true;
        this->label15->Location = new System::Drawing::Point(129, 91);
        this->label15->Name = "label15";
        this->label15->Size = new System::Drawing::Size(53, 12);
        this->label15->TabIndex = 14;
        this->label15->Text = "Big Map:";
        // 
        // BigMapTextBox
        // 
        this->BigMapTextBox->Location = new System::Drawing::Point(184, 89);
        this->BigMapTextBox->MaxLength = 5;
        this->BigMapTextBox->Name = "BigMapTextBox";
        this->BigMapTextBox->Size = new System::Drawing::Size(37, 21);
        this->BigMapTextBox->TabIndex = 13;
        this->BigMapTextBox->TextChanged += new System::EventHandler(this->BigMapTextBox_TextChanged);
        // 
        // LightsComboBox
        // 
        this->LightsComboBox->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
        this->LightsComboBox->FormattingEnabled = true;
        this->LightsComboBox->Location = new System::Drawing::Point(82, 113);
        this->LightsComboBox->Name = "LightsComboBox";
        this->LightsComboBox->Size = new System::Drawing::Size(92, 20);
        this->LightsComboBox->TabIndex = 11;
        this->LightsComboBox->SelectedIndexChanged += new System::EventHandler(this->LightsComboBox_SelectedIndexChanged);
        // 
        // label5
        // 
        this->label5->AutoSize = true;
        this->label5->Location = new System::Drawing::Point(38, 115);
        this->label5->Name = "label5";
        this->label5->Size = new System::Drawing::Size(47, 12);
        this->label5->TabIndex = 12;
        this->label5->Text = "Lights:";
        // 
        // label1
        // 
        this->label1->AutoSize = true;
        this->label1->Location = new System::Drawing::Point(16, 17);
        this->label1->Name = "label1";
        this->label1->Size = new System::Drawing::Size(65, 12);
        this->label1->TabIndex = 4;
        this->label1->Text = "Map Index:";
        // 
        // label4
        // 
        this->label4->AutoSize = true;
        this->label4->Location = new System::Drawing::Point(23, 91);
        this->label4->Name = "label4";
        this->label4->Size = new System::Drawing::Size(59, 12);
        this->label4->TabIndex = 10;
        this->label4->Text = "Mini Map:";
        // 
        // MapIndexTextBox
        // 
        this->MapIndexTextBox->Location = new System::Drawing::Point(82, 14);
        this->MapIndexTextBox->Name = "MapIndexTextBox";
        this->MapIndexTextBox->ReadOnly = true;
        this->MapIndexTextBox->Size = new System::Drawing::Size(47, 21);
        this->MapIndexTextBox->TabIndex = 0;
        // 
        // MiniMapTextBox
        // 
        this->MiniMapTextBox->Location = new System::Drawing::Point(82, 89);
        this->MiniMapTextBox->MaxLength = 5;
        this->MiniMapTextBox->Name = "MiniMapTextBox";
        this->MiniMapTextBox->Size = new System::Drawing::Size(37, 21);
        this->MiniMapTextBox->TabIndex = 9;
        this->MiniMapTextBox->TextChanged += new System::EventHandler(this->MiniMapTextBox_TextChanged);
        // 
        // label2
        // 
        this->label2->AutoSize = true;
        this->label2->Location = new System::Drawing::Point(19, 43);
        this->label2->Name = "label2";
        this->label2->Size = new System::Drawing::Size(65, 12);
        this->label2->TabIndex = 6;
        this->label2->Text = "File Name:";
        // 
        // MapNameTextBox
        // 
        this->MapNameTextBox->Location = new System::Drawing::Point(82, 65);
        this->MapNameTextBox->Name = "MapNameTextBox";
        this->MapNameTextBox->Size = new System::Drawing::Size(92, 21);
        this->MapNameTextBox->TabIndex = 2;
        this->MapNameTextBox->TextChanged += new System::EventHandler(this->MapNameTextBox_TextChanged);
        // 
        // FileNameTextBox
        // 
        this->FileNameTextBox->Location = new System::Drawing::Point(82, 41);
        this->FileNameTextBox->Name = "FileNameTextBox";
        this->FileNameTextBox->Size = new System::Drawing::Size(47, 21);
        this->FileNameTextBox->TabIndex = 1;
        this->FileNameTextBox->TextChanged += new System::EventHandler(this->FileNameTextBox_TextChanged);
        // 
        // label3
        // 
        this->label3->AutoSize = true;
        this->label3->Location = new System::Drawing::Point(14, 67);
        this->label3->Name = "label3";
        this->label3->Size = new System::Drawing::Size(59, 12);
        this->label3->TabIndex = 8;
        this->label3->Text = "Map Name:";
        // 
        // tabPage6
        // 
        this->tabPage6->Controls->Add(this->NoReincarnation);
        this->tabPage6->Controls->Add(this->NoTownTeleportCheckbox);
        this->tabPage6->Controls->Add(this->NoFightCheckbox);
        this->tabPage6->Controls->Add(this->NeedBridleCheckbox);
        this->tabPage6->Controls->Add(this->NoMountCheckbox);
        this->tabPage6->Controls->Add(this->label19);
        this->tabPage6->Controls->Add(this->MapDarkLighttextBox);
        this->tabPage6->Controls->Add(this->NoNamesCheckbox);
        this->tabPage6->Controls->Add(this->NoDropMonsterCheckbox);
        this->tabPage6->Controls->Add(this->NoDropPlayerCheckbox);
        this->tabPage6->Controls->Add(this->NoThrowItemCheckbox);
        this->tabPage6->Controls->Add(this->NoPositionCheckbox);
        this->tabPage6->Controls->Add(this->NoDrugCheckbox);
        this->tabPage6->Controls->Add(this->NoRecallCheckbox);
        this->tabPage6->Controls->Add(this->NoEscapeCheckbox);
        this->tabPage6->Controls->Add(this->NoRandomCheckbox);
        this->tabPage6->Controls->Add(this->LightningTextbox);
        this->tabPage6->Controls->Add(this->FireTextbox);
        this->tabPage6->Controls->Add(this->NoReconnectTextbox);
        this->tabPage6->Controls->Add(this->LightningCheckbox);
        this->tabPage6->Controls->Add(this->FireCheckbox);
        this->tabPage6->Controls->Add(this->FightCheckbox);
        this->tabPage6->Controls->Add(this->NoReconnectCheckbox);
        this->tabPage6->Controls->Add(this->NoTeleportCheckbox);
        this->tabPage6->Location = new System::Drawing::Point(4, 22);
        this->tabPage6->Name = "tabPage6";
        this->tabPage6->Padding = new System::Windows::Forms::Padding(3);
        this->tabPage6->Size = new System::Drawing::Size(532, 226);
        this->tabPage6->TabIndex = 5;
        this->tabPage6->Text = "Attributes";
        this->tabPage6->UseVisualStyleBackColor = true;
        // 
        // NoTownTeleportCheckbox
        // 
        this->NoTownTeleportCheckbox->AutoSize = true;
        this->NoTownTeleportCheckbox->Location = new System::Drawing::Point(340, 110);
        this->NoTownTeleportCheckbox->Name = "NoTownTeleportCheckbox";
        this->NoTownTeleportCheckbox->Size = new System::Drawing::Size(114, 16);
        this->NoTownTeleportCheckbox->TabIndex = 44;
        this->NoTownTeleportCheckbox->Text = "No TownTeleport";
        this->NoTownTeleportCheckbox->UseVisualStyleBackColor = true;
        this->NoTownTeleportCheckbox->CheckedChanged += new System::EventHandler(this->NoTownTeleportCheckbox_CheckedChanged);
        // 
        // NoFightCheckbox
        // 
        this->NoFightCheckbox->AutoSize = true;
        this->NoFightCheckbox->Location = new System::Drawing::Point(174, 126);
        this->NoFightCheckbox->Name = "NoFightCheckbox";
        this->NoFightCheckbox->Size = new System::Drawing::Size(72, 16);
        this->NoFightCheckbox->TabIndex = 43;
        this->NoFightCheckbox->Text = "No Fight";
        this->NoFightCheckbox->UseVisualStyleBackColor = true;
        this->NoFightCheckbox->CheckedChanged += new System::EventHandler(this->NoFightCheckbox_CheckedChanged);
        // 
        // NeedBridleCheckbox
        // 
        this->NeedBridleCheckbox->AutoSize = true;
        this->NeedBridleCheckbox->Location = new System::Drawing::Point(174, 148);
        this->NeedBridleCheckbox->Name = "NeedBridleCheckbox";
        this->NeedBridleCheckbox->Size = new System::Drawing::Size(90, 16);
        this->NeedBridleCheckbox->TabIndex = 42;
        this->NeedBridleCheckbox->Text = "Need Bridle";
        this->NeedBridleCheckbox->UseVisualStyleBackColor = true;
        this->NeedBridleCheckbox->CheckedChanged += new System::EventHandler(this->NeedBridleCheckbox_CheckedChanged);
        // 
        // NoMountCheckbox
        // 
        this->NoMountCheckbox->AutoSize = true;
        this->NoMountCheckbox->Location = new System::Drawing::Point(174, 104);
        this->NoMountCheckbox->Name = "NoMountCheckbox";
        this->NoMountCheckbox->Size = new System::Drawing::Size(72, 16);
        this->NoMountCheckbox->TabIndex = 41;
        this->NoMountCheckbox->Text = "No Mount";
        this->NoMountCheckbox->UseVisualStyleBackColor = true;
        this->NoMountCheckbox->CheckedChanged += new System::EventHandler(this->NoMountCheckbox_CheckedChanged);
        // 
        // label19
        // 
        this->label19->AutoSize = true;
        this->label19->Location = new System::Drawing::Point(338, 87);
        this->label19->Name = "label19";
        this->label19->Size = new System::Drawing::Size(89, 12);
        this->label19->TabIndex = 40;
        this->label19->Text = "Map Dark Light";
        // 
        // MapDarkLighttextBox
        // 
        this->MapDarkLighttextBox->Location = new System::Drawing::Point(443, 84);
        this->MapDarkLighttextBox->Name = "MapDarkLighttextBox";
        this->MapDarkLighttextBox->Size = new System::Drawing::Size(49, 21);
        this->MapDarkLighttextBox->TabIndex = 39;
        this->MapDarkLighttextBox->TextChanged += new System::EventHandler(this->MapDarkLighttextBox_TextChanged);
        // 
        // NoNamesCheckbox
        // 
        this->NoNamesCheckbox->AutoSize = true;
        this->NoNamesCheckbox->Location = new System::Drawing::Point(174, 82);
        this->NoNamesCheckbox->Name = "NoNamesCheckbox";
        this->NoNamesCheckbox->Size = new System::Drawing::Size(72, 16);
        this->NoNamesCheckbox->TabIndex = 38;
        this->NoNamesCheckbox->Text = "No Names";
        this->NoNamesCheckbox->UseVisualStyleBackColor = true;
        this->NoNamesCheckbox->CheckedChanged += new System::EventHandler(this->NoNamesCheckbox_CheckedChanged);
        // 
        // NoDropMonsterCheckbox
        // 
        this->NoDropMonsterCheckbox->AutoSize = true;
        this->NoDropMonsterCheckbox->Location = new System::Drawing::Point(174, 60);
        this->NoDropMonsterCheckbox->Name = "NoDropMonsterCheckbox";
        this->NoDropMonsterCheckbox->Size = new System::Drawing::Size(126, 16);
        this->NoDropMonsterCheckbox->TabIndex = 37;
        this->NoDropMonsterCheckbox->Text = "No Drop (Monster)";
        this->NoDropMonsterCheckbox->UseVisualStyleBackColor = true;
        this->NoDropMonsterCheckbox->CheckedChanged += new System::EventHandler(this->NoDropMonsterCheckbox_CheckedChanged);
        // 
        // NoDropPlayerCheckbox
        // 
        this->NoDropPlayerCheckbox->AutoSize = true;
        this->NoDropPlayerCheckbox->Location = new System::Drawing::Point(174, 38);
        this->NoDropPlayerCheckbox->Name = "NoDropPlayerCheckbox";
        this->NoDropPlayerCheckbox->Size = new System::Drawing::Size(120, 16);
        this->NoDropPlayerCheckbox->TabIndex = 36;
        this->NoDropPlayerCheckbox->Text = "No Drop (Player)";
        this->NoDropPlayerCheckbox->UseVisualStyleBackColor = true;
        this->NoDropPlayerCheckbox->CheckedChanged += new System::EventHandler(this->NoDropPlayerCheckbox_CheckedChanged);
        // 
        // NoThrowItemCheckbox
        // 
        this->NoThrowItemCheckbox->AutoSize = true;
        this->NoThrowItemCheckbox->Location = new System::Drawing::Point(174, 16);
        this->NoThrowItemCheckbox->Name = "NoThrowItemCheckbox";
        this->NoThrowItemCheckbox->Size = new System::Drawing::Size(102, 16);
        this->NoThrowItemCheckbox->TabIndex = 35;
        this->NoThrowItemCheckbox->Text = "No Throw Item";
        this->NoThrowItemCheckbox->UseVisualStyleBackColor = true;
        this->NoThrowItemCheckbox->CheckedChanged += new System::EventHandler(this->NoThrowItemCheckbox_CheckedChanged);
        // 
        // NoPositionCheckbox
        // 
        this->NoPositionCheckbox->AutoSize = true;
        this->NoPositionCheckbox->Location = new System::Drawing::Point(15, 148);
        this->NoPositionCheckbox->Name = "NoPositionCheckbox";
        this->NoPositionCheckbox->Size = new System::Drawing::Size(90, 16);
        this->NoPositionCheckbox->TabIndex = 34;
        this->NoPositionCheckbox->Text = "No Position";
        this->NoPositionCheckbox->UseVisualStyleBackColor = true;
        this->NoPositionCheckbox->CheckedChanged += new System::EventHandler(this->NoPositionCheckbox_CheckedChanged);
        // 
        // NoDrugCheckbox
        // 
        this->NoDrugCheckbox->AutoSize = true;
        this->NoDrugCheckbox->Location = new System::Drawing::Point(16, 126);
        this->NoDrugCheckbox->Name = "NoDrugCheckbox";
        this->NoDrugCheckbox->Size = new System::Drawing::Size(66, 16);
        this->NoDrugCheckbox->TabIndex = 33;
        this->NoDrugCheckbox->Text = "No Drug";
        this->NoDrugCheckbox->UseVisualStyleBackColor = true;
        this->NoDrugCheckbox->CheckedChanged += new System::EventHandler(this->NoDrugCheckbox_CheckedChanged);
        // 
        // NoRecallCheckbox
        // 
        this->NoRecallCheckbox->AutoSize = true;
        this->NoRecallCheckbox->Location = new System::Drawing::Point(16, 104);
        this->NoRecallCheckbox->Name = "NoRecallCheckbox";
        this->NoRecallCheckbox->Size = new System::Drawing::Size(78, 16);
        this->NoRecallCheckbox->TabIndex = 32;
        this->NoRecallCheckbox->Text = "No Recall";
        this->NoRecallCheckbox->UseVisualStyleBackColor = true;
        this->NoRecallCheckbox->CheckedChanged += new System::EventHandler(this->NoRecallCheckbox_CheckedChanged);
        // 
        // NoEscapeCheckbox
        // 
        this->NoEscapeCheckbox->AutoSize = true;
        this->NoEscapeCheckbox->Location = new System::Drawing::Point(16, 82);
        this->NoEscapeCheckbox->Name = "NoEscapeCheckbox";
        this->NoEscapeCheckbox->Size = new System::Drawing::Size(78, 16);
        this->NoEscapeCheckbox->TabIndex = 31;
        this->NoEscapeCheckbox->Text = "No Escape";
        this->NoEscapeCheckbox->UseVisualStyleBackColor = true;
        this->NoEscapeCheckbox->CheckedChanged += new System::EventHandler(this->NoEscapeCheckbox_CheckedChanged);
        // 
        // NoRandomCheckbox
        // 
        this->NoRandomCheckbox->AutoSize = true;
        this->NoRandomCheckbox->Location = new System::Drawing::Point(16, 60);
        this->NoRandomCheckbox->Name = "NoRandomCheckbox";
        this->NoRandomCheckbox->Size = new System::Drawing::Size(78, 16);
        this->NoRandomCheckbox->TabIndex = 30;
        this->NoRandomCheckbox->Text = "No Random";
        this->NoRandomCheckbox->UseVisualStyleBackColor = true;
        this->NoRandomCheckbox->CheckedChanged += new System::EventHandler(this->NoRandomCheckbox_CheckedChanged);
        // 
        // LightningTextbox
        // 
        this->LightningTextbox->Location = new System::Drawing::Point(443, 60);
        this->LightningTextbox->Name = "LightningTextbox";
        this->LightningTextbox->Size = new System::Drawing::Size(49, 21);
        this->LightningTextbox->TabIndex = 29;
        this->LightningTextbox->TextChanged += new System::EventHandler(this->LightningTextbox_TextChanged);
        // 
        // FireTextbox
        // 
        this->FireTextbox->Location = new System::Drawing::Point(443, 38);
        this->FireTextbox->Name = "FireTextbox";
        this->FireTextbox->Size = new System::Drawing::Size(49, 21);
        this->FireTextbox->TabIndex = 28;
        this->FireTextbox->TextChanged += new System::EventHandler(this->FireTextbox_TextChanged);
        // 
        // NoReconnectTextbox
        // 
        this->NoReconnectTextbox->Location = new System::Drawing::Point(118, 36);
        this->NoReconnectTextbox->Name = "NoReconnectTextbox";
        this->NoReconnectTextbox->Size = new System::Drawing::Size(49, 21);
        this->NoReconnectTextbox->TabIndex = 27;
        this->NoReconnectTextbox->TextChanged += new System::EventHandler(this->NoReconnectTextbox_TextChanged);
        // 
        // LightningCheckbox
        // 
        this->LightningCheckbox->AutoSize = true;
        this->LightningCheckbox->Location = new System::Drawing::Point(341, 60);
        this->LightningCheckbox->Name = "LightningCheckbox";
        this->LightningCheckbox->Size = new System::Drawing::Size(78, 16);
        this->LightningCheckbox->TabIndex = 26;
        this->LightningCheckbox->Text = "Lightning";
        this->LightningCheckbox->UseVisualStyleBackColor = true;
        this->LightningCheckbox->CheckedChanged += new System::EventHandler(this->LightningCheckbox_CheckedChanged);
        // 
        // FireCheckbox
        // 
        this->FireCheckbox->AutoSize = true;
        this->FireCheckbox->Location = new System::Drawing::Point(341, 38);
        this->FireCheckbox->Name = "FireCheckbox";
        this->FireCheckbox->Size = new System::Drawing::Size(48, 16);
        this->FireCheckbox->TabIndex = 25;
        this->FireCheckbox->Text = "Fire";
        this->FireCheckbox->UseVisualStyleBackColor = true;
        this->FireCheckbox->CheckStateChanged += new System::EventHandler(this->FireCheckbox_CheckStateChanged);
        // 
        // FightCheckbox
        // 
        this->FightCheckbox->AutoSize = true;
        this->FightCheckbox->Location = new System::Drawing::Point(341, 15);
        this->FightCheckbox->Name = "FightCheckbox";
        this->FightCheckbox->Size = new System::Drawing::Size(54, 16);
        this->FightCheckbox->TabIndex = 23;
        this->FightCheckbox->Text = "Fight";
        this->FightCheckbox->UseVisualStyleBackColor = true;
        this->FightCheckbox->CheckedChanged += new System::EventHandler(this->FightCheckbox_CheckedChanged);
        // 
        // NoReconnectCheckbox
        // 
        this->NoReconnectCheckbox->AutoSize = true;
        this->NoReconnectCheckbox->Location = new System::Drawing::Point(16, 38);
        this->NoReconnectCheckbox->Name = "NoReconnectCheckbox";
        this->NoReconnectCheckbox->Size = new System::Drawing::Size(96, 16);
        this->NoReconnectCheckbox->TabIndex = 22;
        this->NoReconnectCheckbox->Text = "No Reconnect";
        this->NoReconnectCheckbox->UseVisualStyleBackColor = true;
        this->NoReconnectCheckbox->CheckedChanged += new System::EventHandler(this->NoReconnectCheckbox_CheckedChanged);
        // 
        // NoTeleportCheckbox
        // 
        this->NoTeleportCheckbox->AutoSize = true;
        this->NoTeleportCheckbox->Location = new System::Drawing::Point(16, 16);
        this->NoTeleportCheckbox->Name = "NoTeleportCheckbox";
        this->NoTeleportCheckbox->Size = new System::Drawing::Size(90, 16);
        this->NoTeleportCheckbox->TabIndex = 21;
        this->NoTeleportCheckbox->Text = "No Teleport";
        this->NoTeleportCheckbox->UseVisualStyleBackColor = true;
        this->NoTeleportCheckbox->CheckedChanged += new System::EventHandler(this->NoTeleportCheckbox_CheckedChanged);
        // 
        // tabPage3
        // 
        this->tabPage3->Controls->Add(this->RemoveSZButton);
        this->tabPage3->Controls->Add(this->AddSZButton);
        this->tabPage3->Controls->Add(this->SafeZoneInfoPanel);
        this->tabPage3->Controls->Add(this->SafeZoneInfoListBox);
        this->tabPage3->Location = new System::Drawing::Point(4, 22);
        this->tabPage3->Name = "tabPage3";
        this->tabPage3->Size = new System::Drawing::Size(532, 226);
        this->tabPage3->TabIndex = 2;
        this->tabPage3->Text = "Safe Zones";
        this->tabPage3->UseVisualStyleBackColor = true;
        // 
        // RemoveSZButton
        // 
        this->RemoveSZButton->Location = new System::Drawing::Point(108, 6);
        this->RemoveSZButton->Name = "RemoveSZButton";
        this->RemoveSZButton->Size = new System::Drawing::Size(75, 21);
        this->RemoveSZButton->TabIndex = 8;
        this->RemoveSZButton->Text = "Remove";
        this->RemoveSZButton->UseVisualStyleBackColor = true;
        this->RemoveSZButton->Click += new System::EventHandler(this->RemoveSZButton_Click);
        // 
        // AddSZButton
        // 
        this->AddSZButton->Location = new System::Drawing::Point(6, 6);
        this->AddSZButton->Name = "AddSZButton";
        this->AddSZButton->Size = new System::Drawing::Size(75, 21);
        this->AddSZButton->TabIndex = 7;
        this->AddSZButton->Text = "Add";
        this->AddSZButton->UseVisualStyleBackColor = true;
        this->AddSZButton->Click += new System::EventHandler(this->AddSZButton_Click);
        // 
        // SafeZoneInfoPanel
        // 
        this->SafeZoneInfoPanel->Anchor = (static_cast<System::Windows::Forms::AnchorStyles*>((((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left) | System::Windows::Forms::AnchorStyles::Right)));
        this->SafeZoneInfoPanel->Controls->Add(this->label12);
        this->SafeZoneInfoPanel->Controls->Add(this->SZYTextBox);
        this->SafeZoneInfoPanel->Controls->Add(this->label14);
        this->SafeZoneInfoPanel->Controls->Add(this->SizeTextBox);
        this->SafeZoneInfoPanel->Controls->Add(this->label17);
        this->SafeZoneInfoPanel->Controls->Add(this->SZXTextBox);
        this->SafeZoneInfoPanel->Controls->Add(this->StartPointCheckBox);
        this->SafeZoneInfoPanel->Enabled = false;
        this->SafeZoneInfoPanel->Location = new System::Drawing::Point(189, 32);
        this->SafeZoneInfoPanel->Name = "SafeZoneInfoPanel";
        this->SafeZoneInfoPanel->Size = new System::Drawing::Size(197, 128);
        this->SafeZoneInfoPanel->TabIndex = 10;
        // 
        // label12
        // 
        this->label12->AutoSize = true;
        this->label12->Location = new System::Drawing::Point(124, 23);
        this->label12->Name = "label12";
        this->label12->Size = new System::Drawing::Size(17, 12);
        this->label12->TabIndex = 10;
        this->label12->Text = "Y:";
        // 
        // SZYTextBox
        // 
        this->SZYTextBox->Location = new System::Drawing::Point(147, 20);
        this->SZYTextBox->MaxLength = 5;
        this->SZYTextBox->Name = "SZYTextBox";
        this->SZYTextBox->Size = new System::Drawing::Size(37, 21);
        this->SZYTextBox->TabIndex = 3;
        this->SZYTextBox->TextChanged += new System::EventHandler(this->SZYTextBox_TextChanged);
        // 
        // label14
        // 
        this->label14->AutoSize = true;
        this->label14->Location = new System::Drawing::Point(25, 47);
        this->label14->Name = "label14";
        this->label14->Size = new System::Drawing::Size(35, 12);
        this->label14->TabIndex = 8;
        this->label14->Text = "Size:";
        // 
        // SizeTextBox
        // 
        this->SizeTextBox->Location = new System::Drawing::Point(61, 44);
        this->SizeTextBox->MaxLength = 5;
        this->SizeTextBox->Name = "SizeTextBox";
        this->SizeTextBox->Size = new System::Drawing::Size(37, 21);
        this->SizeTextBox->TabIndex = 4;
        this->SizeTextBox->TextChanged += new System::EventHandler(this->SizeTextBox_TextChanged);
        // 
        // label17
        // 
        this->label17->AutoSize = true;
        this->label17->Location = new System::Drawing::Point(38, 23);
        this->label17->Name = "label17";
        this->label17->Size = new System::Drawing::Size(17, 12);
        this->label17->TabIndex = 3;
        this->label17->Text = "X:";
        // 
        // SZXTextBox
        // 
        this->SZXTextBox->Location = new System::Drawing::Point(61, 20);
        this->SZXTextBox->MaxLength = 5;
        this->SZXTextBox->Name = "SZXTextBox";
        this->SZXTextBox->Size = new System::Drawing::Size(37, 21);
        this->SZXTextBox->TabIndex = 2;
        this->SZXTextBox->TextChanged += new System::EventHandler(this->SZXTextBox_TextChanged);
        // 
        // StartPointCheckBox
        // 
        this->StartPointCheckBox->AutoSize = true;
        this->StartPointCheckBox->Location = new System::Drawing::Point(61, 82);
        this->StartPointCheckBox->Name = "StartPointCheckBox";
        this->StartPointCheckBox->Size = new System::Drawing::Size(90, 16);
        this->StartPointCheckBox->TabIndex = 5;
        this->StartPointCheckBox->Text = "Start Point";
        this->StartPointCheckBox->UseVisualStyleBackColor = true;
        this->StartPointCheckBox->CheckedChanged += new System::EventHandler(this->StartPointCheckBox_CheckedChanged);
        // 
        // SafeZoneInfoListBox
        // 
        this->SafeZoneInfoListBox->Anchor = (static_cast<System::Windows::Forms::AnchorStyles*>(((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left)));
        this->SafeZoneInfoListBox->FormattingEnabled = true;
        this->SafeZoneInfoListBox->ItemHeight = 12;
        this->SafeZoneInfoListBox->Location = new System::Drawing::Point(6, 32);
        this->SafeZoneInfoListBox->Name = "SafeZoneInfoListBox";
        this->SafeZoneInfoListBox->SelectionMode = System::Windows::Forms::SelectionMode::MultiExtended;
        this->SafeZoneInfoListBox->Size = new System::Drawing::Size(177, 124);
        this->SafeZoneInfoListBox->TabIndex = 9;
        this->SafeZoneInfoListBox->SelectedIndexChanged += new System::EventHandler(this->SafeZoneInfoListBox_SelectedIndexChanged);
        // 
        // tabPage2
        // 
        this->tabPage2->Controls->Add(this->RPasteButton);
        this->tabPage2->Controls->Add(this->RCopyButton);
        this->tabPage2->Controls->Add(this->RemoveRButton);
        this->tabPage2->Controls->Add(this->AddRButton);
        this->tabPage2->Controls->Add(this->RespawnInfoListBox);
        this->tabPage2->Controls->Add(this->RespawnInfoPanel);
        this->tabPage2->Location = new System::Drawing::Point(4, 22);
        this->tabPage2->Name = "tabPage2";
        this->tabPage2->Padding = new System::Windows::Forms::Padding(3);
        this->tabPage2->Size = new System::Drawing::Size(532, 226);
        this->tabPage2->TabIndex = 1;
        this->tabPage2->Text = "Respawns";
        this->tabPage2->UseVisualStyleBackColor = true;
        // 
        // RPasteButton
        // 
        this->RPasteButton->Location = new System::Drawing::Point(270, 6);
        this->RPasteButton->Name = "RPasteButton";
        this->RPasteButton->Size = new System::Drawing::Size(75, 21);
        this->RPasteButton->TabIndex = 22;
        this->RPasteButton->Text = "Paste";
        this->RPasteButton->UseVisualStyleBackColor = true;
        this->RPasteButton->Click += new System::EventHandler(this->RPasteButton_Click);
        // 
        // RCopyButton
        // 
        this->RCopyButton->Location = new System::Drawing::Point(189, 6);
        this->RCopyButton->Name = "RCopyButton";
        this->RCopyButton->Size = new System::Drawing::Size(75, 21);
        this->RCopyButton->TabIndex = 21;
        this->RCopyButton->Text = "Copy";
        this->RCopyButton->UseVisualStyleBackColor = true;
        // 
        // RemoveRButton
        // 
        this->RemoveRButton->Location = new System::Drawing::Point(108, 6);
        this->RemoveRButton->Name = "RemoveRButton";
        this->RemoveRButton->Size = new System::Drawing::Size(75, 21);
        this->RemoveRButton->TabIndex = 16;
        this->RemoveRButton->Text = "Remove";
        this->RemoveRButton->UseVisualStyleBackColor = true;
        this->RemoveRButton->Click += new System::EventHandler(this->RemoveRButton_Click);
        // 
        // AddRButton
        // 
        this->AddRButton->Location = new System::Drawing::Point(6, 6);
        this->AddRButton->Name = "AddRButton";
        this->AddRButton->Size = new System::Drawing::Size(75, 21);
        this->AddRButton->TabIndex = 15;
        this->AddRButton->Text = "Add";
        this->AddRButton->UseVisualStyleBackColor = true;
        this->AddRButton->Click += new System::EventHandler(this->AddRButton_Click);
        // 
        // RespawnInfoListBox
        // 
        this->RespawnInfoListBox->Anchor = (static_cast<System::Windows::Forms::AnchorStyles*>(((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left)));
        this->RespawnInfoListBox->FormattingEnabled = true;
        this->RespawnInfoListBox->ItemHeight = 12;
        this->RespawnInfoListBox->Location = new System::Drawing::Point(6, 32);
        this->RespawnInfoListBox->Name = "RespawnInfoListBox";
        this->RespawnInfoListBox->SelectionMode = System::Windows::Forms::SelectionMode::MultiExtended;
        this->RespawnInfoListBox->Size = new System::Drawing::Size(260, 136);
        this->RespawnInfoListBox->TabIndex = 14;
        this->RespawnInfoListBox->SelectedIndexChanged += new System::EventHandler(this->RespawnInfoListBox_SelectedIndexChanged);
        // 
        // RespawnInfoPanel
        // 
        this->RespawnInfoPanel->Anchor = (static_cast<System::Windows::Forms::AnchorStyles*>((((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left) | System::Windows::Forms::AnchorStyles::Right)));
        this->RespawnInfoPanel->Controls->Add(this->chkrespawnsave);
        this->RespawnInfoPanel->Controls->Add(this->chkRespawnEnableTick);
        this->RespawnInfoPanel->Controls->Add(this->Randomtextbox);
        this->RespawnInfoPanel->Controls->Add(this->label23);
        this->RespawnInfoPanel->Controls->Add(this->label34);
        this->RespawnInfoPanel->Controls->Add(this->RoutePathTextBox);
        this->RespawnInfoPanel->Controls->Add(this->label24);
        this->RespawnInfoPanel->Controls->Add(this->DirectionTextBox);
        this->RespawnInfoPanel->Controls->Add(this->label8);
        this->RespawnInfoPanel->Controls->Add(this->DelayTextBox);
        this->RespawnInfoPanel->Controls->Add(this->label7);
        this->RespawnInfoPanel->Controls->Add(this->MonsterInfoComboBox);
        this->RespawnInfoPanel->Controls->Add(this->label6);
        this->RespawnInfoPanel->Controls->Add(this->SpreadTextBox);
        this->RespawnInfoPanel->Controls->Add(this->label9);
        this->RespawnInfoPanel->Controls->Add(this->RYTextBox);
        this->RespawnInfoPanel->Controls->Add(this->label10);
        this->RespawnInfoPanel->Controls->Add(this->CountTextBox);
        this->RespawnInfoPanel->Controls->Add(this->label13);
        this->RespawnInfoPanel->Controls->Add(this->RXTextBox);
        this->RespawnInfoPanel->Enabled = false;
        this->RespawnInfoPanel->Location = new System::Drawing::Point(272, 32);
        this->RespawnInfoPanel->Name = "RespawnInfoPanel";
        this->RespawnInfoPanel->Size = new System::Drawing::Size(254, 189);
        this->RespawnInfoPanel->TabIndex = 11;
        // 
        // chkrespawnsave
        // 
        this->chkrespawnsave->AutoSize = true;
        this->chkrespawnsave->Location = new System::Drawing::Point(25, 101);
        this->chkrespawnsave->Name = "chkrespawnsave";
        this->chkrespawnsave->Size = new System::Drawing::Size(186, 16);
        this->chkrespawnsave->TabIndex = 25;
        this->chkrespawnsave->Text = "Save respawnticks on reboot";
        this->chkrespawnsave->UseVisualStyleBackColor = true;
        this->chkrespawnsave->CheckedChanged += new System::EventHandler(this->chkrespawnsave_CheckedChanged);
        // 
        // chkRespawnEnableTick
        // 
        this->chkRespawnEnableTick->AutoSize = true;
        this->chkRespawnEnableTick->Location = new System::Drawing::Point(25, 85);
        this->chkRespawnEnableTick->Name = "chkRespawnEnableTick";
        this->chkRespawnEnableTick->Size = new System::Drawing::Size(150, 16);
        this->chkRespawnEnableTick->TabIndex = 24;
        this->chkRespawnEnableTick->Text = "Use tickbased respawn";
        this->chkRespawnEnableTick->UseVisualStyleBackColor = true;
        this->chkRespawnEnableTick->CheckedChanged += new System::EventHandler(this->chkRespawnEnableTick_CheckedChanged);
        // 
        // Randomtextbox
        // 
        this->Randomtextbox->Location = new System::Drawing::Point(158, 120);
        this->Randomtextbox->MaxLength = 10;
        this->Randomtextbox->Multiline = true;
        this->Randomtextbox->Name = "Randomtextbox";
        this->Randomtextbox->Size = new System::Drawing::Size(37, 19);
        this->Randomtextbox->TabIndex = 23;
        this->toolTip1->SetToolTip(this->Randomtextbox, "Allows random + or - added to each spawn time");
        this->Randomtextbox->TextChanged += new System::EventHandler(this->RandomTextBox_TextChanged);
        // 
        // label23
        // 
        this->label23->AutoSize = true;
        this->label23->Location = new System::Drawing::Point(135, 123);
        this->label23->Name = "label23";
        this->label23->Size = new System::Drawing::Size(17, 12);
        this->label23->TabIndex = 22;
        this->label23->Text = "R:";
        // 
        // label34
        // 
        this->label34->AutoSize = true;
        this->label34->Location = new System::Drawing::Point(22, 147);
        this->label34->Name = "label34";
        this->label34->Size = new System::Drawing::Size(41, 12);
        this->label34->TabIndex = 21;
        this->label34->Text = "Route:";
        // 
        // RoutePathTextBox
        // 
        this->RoutePathTextBox->Location = new System::Drawing::Point(65, 144);
        this->RoutePathTextBox->Name = "RoutePathTextBox";
        this->RoutePathTextBox->Size = new System::Drawing::Size(130, 21);
        this->RoutePathTextBox->TabIndex = 20;
        this->RoutePathTextBox->TextChanged += new System::EventHandler(this->RoutePathTextBox_TextChanged);
        // 
        // label24
        // 
        this->label24->AutoSize = true;
        this->label24->Location = new System::Drawing::Point(22, 171);
        this->label24->Name = "label24";
        this->label24->Size = new System::Drawing::Size(29, 12);
        this->label24->TabIndex = 18;
        this->label24->Text = "Dir:";
        // 
        // DirectionTextBox
        // 
        this->DirectionTextBox->Location = new System::Drawing::Point(65, 168);
        this->DirectionTextBox->MaxLength = 5;
        this->DirectionTextBox->Name = "DirectionTextBox";
        this->DirectionTextBox->Size = new System::Drawing::Size(37, 21);
        this->DirectionTextBox->TabIndex = 17;
        this->DirectionTextBox->TextChanged += new System::EventHandler(this->DirectionTextBox_TextChanged);
        // 
        // label8
        // 
        this->label8->AutoSize = true;
        this->label8->Location = new System::Drawing::Point(22, 123);
        this->label8->Name = "label8";
        this->label8->Size = new System::Drawing::Size(41, 12);
        this->label8->TabIndex = 16;
        this->label8->Text = "Delay:";
        // 
        // DelayTextBox
        // 
        this->DelayTextBox->Location = new System::Drawing::Point(65, 120);
        this->DelayTextBox->MaxLength = 10;
        this->DelayTextBox->Multiline = true;
        this->DelayTextBox->Name = "DelayTextBox";
        this->DelayTextBox->Size = new System::Drawing::Size(62, 19);
        this->DelayTextBox->TabIndex = 15;
        this->toolTip1->SetToolTip(this->DelayTextBox, "if you use tick based spawn: this is ignored!");
        this->DelayTextBox->TextChanged += new System::EventHandler(this->DelayTextBox_TextChanged);
        // 
        // label7
        // 
        this->label7->AutoSize = true;
        this->label7->Location = new System::Drawing::Point(11, 15);
        this->label7->Name = "label7";
        this->label7->Size = new System::Drawing::Size(53, 12);
        this->label7->TabIndex = 14;
        this->label7->Text = "Monster:";
        // 
        // MonsterInfoComboBox
        // 
        this->MonsterInfoComboBox->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
        this->MonsterInfoComboBox->FormattingEnabled = true;
        this->MonsterInfoComboBox->Location = new System::Drawing::Point(65, 12);
        this->MonsterInfoComboBox->Name = "MonsterInfoComboBox";
        this->MonsterInfoComboBox->Size = new System::Drawing::Size(130, 20);
        this->MonsterInfoComboBox->TabIndex = 13;
        this->MonsterInfoComboBox->SelectedIndexChanged += new System::EventHandler(this->MonsterInfoComboBox_SelectedIndexChanged);
        // 
        // label6
        // 
        this->label6->AutoSize = true;
        this->label6->Location = new System::Drawing::Point(108, 64);
        this->label6->Name = "label6";
        this->label6->Size = new System::Drawing::Size(47, 12);
        this->label6->TabIndex = 12;
        this->label6->Text = "Spread:";
        // 
        // SpreadTextBox
        // 
        this->SpreadTextBox->Location = new System::Drawing::Point(158, 61);
        this->SpreadTextBox->MaxLength = 5;
        this->SpreadTextBox->Name = "SpreadTextBox";
        this->SpreadTextBox->Size = new System::Drawing::Size(37, 21);
        this->SpreadTextBox->TabIndex = 11;
        this->SpreadTextBox->TextChanged += new System::EventHandler(this->SpreadTextBox_TextChanged);
        // 
        // label9
        // 
        this->label9->AutoSize = true;
        this->label9->Location = new System::Drawing::Point(135, 40);
        this->label9->Name = "label9";
        this->label9->Size = new System::Drawing::Size(17, 12);
        this->label9->TabIndex = 10;
        this->label9->Text = "Y:";
        // 
        // RYTextBox
        // 
        this->RYTextBox->Location = new System::Drawing::Point(158, 37);
        this->RYTextBox->MaxLength = 5;
        this->RYTextBox->Name = "RYTextBox";
        this->RYTextBox->Size = new System::Drawing::Size(37, 21);
        this->RYTextBox->TabIndex = 3;
        this->RYTextBox->TextChanged += new System::EventHandler(this->RYTextBox_TextChanged);
        // 
        // label10
        // 
        this->label10->AutoSize = true;
        this->label10->Location = new System::Drawing::Point(21, 64);
        this->label10->Name = "label10";
        this->label10->Size = new System::Drawing::Size(41, 12);
        this->label10->TabIndex = 8;
        this->label10->Text = "Count:";
        // 
        // CountTextBox
        // 
        this->CountTextBox->Location = new System::Drawing::Point(65, 61);
        this->CountTextBox->MaxLength = 5;
        this->CountTextBox->Name = "CountTextBox";
        this->CountTextBox->Size = new System::Drawing::Size(37, 21);
        this->CountTextBox->TabIndex = 4;
        this->CountTextBox->TextChanged += new System::EventHandler(this->CountTextBox_TextChanged);
        // 
        // label13
        // 
        this->label13->AutoSize = true;
        this->label13->Location = new System::Drawing::Point(42, 40);
        this->label13->Name = "label13";
        this->label13->Size = new System::Drawing::Size(17, 12);
        this->label13->TabIndex = 3;
        this->label13->Text = "X:";
        // 
        // RXTextBox
        // 
        this->RXTextBox->Location = new System::Drawing::Point(65, 37);
        this->RXTextBox->MaxLength = 5;
        this->RXTextBox->Name = "RXTextBox";
        this->RXTextBox->Size = new System::Drawing::Size(37, 21);
        this->RXTextBox->TabIndex = 2;
        this->RXTextBox->TextChanged += new System::EventHandler(this->RXTextBox_TextChanged);
        // 
        // tabPage4
        // 
        this->tabPage4->Controls->Add(this->RemoveMButton);
        this->tabPage4->Controls->Add(this->AddMButton);
        this->tabPage4->Controls->Add(this->MovementInfoPanel);
        this->tabPage4->Controls->Add(this->MovementInfoListBox);
        this->tabPage4->Location = new System::Drawing::Point(4, 22);
        this->tabPage4->Name = "tabPage4";
        this->tabPage4->Padding = new System::Windows::Forms::Padding(3);
        this->tabPage4->Size = new System::Drawing::Size(532, 226);
        this->tabPage4->TabIndex = 3;
        this->tabPage4->Text = "Movements";
        this->tabPage4->UseVisualStyleBackColor = true;
        // 
        // RemoveMButton
        // 
        this->RemoveMButton->Location = new System::Drawing::Point(108, 6);
        this->RemoveMButton->Name = "RemoveMButton";
        this->RemoveMButton->Size = new System::Drawing::Size(75, 21);
        this->RemoveMButton->TabIndex = 12;
        this->RemoveMButton->Text = "Remove";
        this->RemoveMButton->UseVisualStyleBackColor = true;
        this->RemoveMButton->Click += new System::EventHandler(this->RemoveMButton_Click);
        // 
        // AddMButton
        // 
        this->AddMButton->Location = new System::Drawing::Point(6, 6);
        this->AddMButton->Name = "AddMButton";
        this->AddMButton->Size = new System::Drawing::Size(75, 21);
        this->AddMButton->TabIndex = 11;
        this->AddMButton->Text = "Add";
        this->AddMButton->UseVisualStyleBackColor = true;
        this->AddMButton->Click += new System::EventHandler(this->AddMButton_Click);
        // 
        // MovementInfoPanel
        // 
        this->MovementInfoPanel->Anchor = (static_cast<System::Windows::Forms::AnchorStyles*>((((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left) | System::Windows::Forms::AnchorStyles::Right)));
        this->MovementInfoPanel->Controls->Add(this->label25);
        this->MovementInfoPanel->Controls->Add(this->ConquestComboBox);
        this->MovementInfoPanel->Controls->Add(this->NeedMoveMCheckBox);
        this->MovementInfoPanel->Controls->Add(this->NeedHoleMCheckBox);
        this->MovementInfoPanel->Controls->Add(this->label22);
        this->MovementInfoPanel->Controls->Add(this->DestMapComboBox);
        this->MovementInfoPanel->Controls->Add(this->label18);
        this->MovementInfoPanel->Controls->Add(this->DestYTextBox);
        this->MovementInfoPanel->Controls->Add(this->label21);
        this->MovementInfoPanel->Controls->Add(this->DestXTextBox);
        this->MovementInfoPanel->Controls->Add(this->label16);
        this->MovementInfoPanel->Controls->Add(this->SourceYTextBox);
        this->MovementInfoPanel->Controls->Add(this->label20);
        this->MovementInfoPanel->Controls->Add(this->SourceXTextBox);
        this->MovementInfoPanel->Enabled = false;
        this->MovementInfoPanel->Location = new System::Drawing::Point(239, 32);
        this->MovementInfoPanel->Name = "MovementInfoPanel";
        this->MovementInfoPanel->Size = new System::Drawing::Size(256, 189);
        this->MovementInfoPanel->TabIndex = 14;
        // 
        // label25
        // 
        this->label25->AutoSize = true;
        this->label25->Location = new System::Drawing::Point(3, 158);
        this->label25->Name = "label25";
        this->label25->Size = new System::Drawing::Size(59, 12);
        this->label25->TabIndex = 20;
        this->label25->Text = "Conquest:";
        // 
        // ConquestComboBox
        // 
        this->ConquestComboBox->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
        this->ConquestComboBox->FormattingEnabled = true;
        this->ConquestComboBox->Location = new System::Drawing::Point(64, 155);
        this->ConquestComboBox->Name = "ConquestComboBox";
        this->ConquestComboBox->Size = new System::Drawing::Size(182, 20);
        this->ConquestComboBox->TabIndex = 19;
        this->ConquestComboBox->SelectedIndexChanged += new System::EventHandler(this->ConquestComboBox_SelectedIndexChanged);
        // 
        // NeedMoveMCheckBox
        // 
        this->NeedMoveMCheckBox->AutoSize = true;
        this->NeedMoveMCheckBox->Location = new System::Drawing::Point(14, 134);
        this->NeedMoveMCheckBox->Name = "NeedMoveMCheckBox";
        this->NeedMoveMCheckBox->Size = new System::Drawing::Size(78, 16);
        this->NeedMoveMCheckBox->TabIndex = 18;
        this->NeedMoveMCheckBox->Text = "Need Move";
        this->NeedMoveMCheckBox->UseVisualStyleBackColor = true;
        this->NeedMoveMCheckBox->CheckedChanged += new System::EventHandler(this->NeedScriptMCheckBox_CheckedChanged);
        // 
        // NeedHoleMCheckBox
        // 
        this->NeedHoleMCheckBox->AutoSize = true;
        this->NeedHoleMCheckBox->Location = new System::Drawing::Point(14, 113);
        this->NeedHoleMCheckBox->Name = "NeedHoleMCheckBox";
        this->NeedHoleMCheckBox->Size = new System::Drawing::Size(78, 16);
        this->NeedHoleMCheckBox->TabIndex = 17;
        this->NeedHoleMCheckBox->Text = "Need Hole";
        this->NeedHoleMCheckBox->UseVisualStyleBackColor = true;
        this->NeedHoleMCheckBox->CheckedChanged += new System::EventHandler(this->NeedHoleMCheckBox_CheckedChanged);
        // 
        // label22
        // 
        this->label22->AutoSize = true;
        this->label22->Location = new System::Drawing::Point(11, 54);
        this->label22->Name = "label22";
        this->label22->Size = new System::Drawing::Size(47, 12);
        this->label22->TabIndex = 16;
        this->label22->Text = "To Map:";
        // 
        // DestMapComboBox
        // 
        this->DestMapComboBox->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
        this->DestMapComboBox->FormattingEnabled = true;
        this->DestMapComboBox->Location = new System::Drawing::Point(64, 51);
        this->DestMapComboBox->Name = "DestMapComboBox";
        this->DestMapComboBox->Size = new System::Drawing::Size(182, 20);
        this->DestMapComboBox->TabIndex = 15;
        this->DestMapComboBox->SelectedIndexChanged += new System::EventHandler(this->DestMapComboBox_SelectedIndexChanged);
        // 
        // label18
        // 
        this->label18->AutoSize = true;
        this->label18->Location = new System::Drawing::Point(118, 78);
        this->label18->Name = "label18";
        this->label18->Size = new System::Drawing::Size(35, 12);
        this->label18->TabIndex = 14;
        this->label18->Text = "To Y:";
        // 
        // DestYTextBox
        // 
        this->DestYTextBox->Location = new System::Drawing::Point(157, 76);
        this->DestYTextBox->MaxLength = 5;
        this->DestYTextBox->Name = "DestYTextBox";
        this->DestYTextBox->Size = new System::Drawing::Size(37, 21);
        this->DestYTextBox->TabIndex = 12;
        this->DestYTextBox->TextChanged += new System::EventHandler(this->DestYTextBox_TextChanged);
        // 
        // label21
        // 
        this->label21->AutoSize = true;
        this->label21->Cursor = System::Windows::Forms::Cursors::Default;
        this->label21->Location = new System::Drawing::Point(23, 78);
        this->label21->Name = "label21";
        this->label21->Size = new System::Drawing::Size(35, 12);
        this->label21->TabIndex = 13;
        this->label21->Text = "To X:";
        // 
        // DestXTextBox
        // 
        this->DestXTextBox->Location = new System::Drawing::Point(62, 76);
        this->DestXTextBox->MaxLength = 5;
        this->DestXTextBox->Name = "DestXTextBox";
        this->DestXTextBox->Size = new System::Drawing::Size(37, 21);
        this->DestXTextBox->TabIndex = 11;
        this->DestXTextBox->TextChanged += new System::EventHandler(this->DestXTextBox_TextChanged);
        // 
        // label16
        // 
        this->label16->AutoSize = true;
        this->label16->Location = new System::Drawing::Point(108, 30);
        this->label16->Name = "label16";
        this->label16->Size = new System::Drawing::Size(47, 12);
        this->label16->TabIndex = 10;
        this->label16->Text = "From Y:";
        // 
        // SourceYTextBox
        // 
        this->SourceYTextBox->Location = new System::Drawing::Point(157, 27);
        this->SourceYTextBox->MaxLength = 5;
        this->SourceYTextBox->Name = "SourceYTextBox";
        this->SourceYTextBox->Size = new System::Drawing::Size(37, 21);
        this->SourceYTextBox->TabIndex = 3;
        this->SourceYTextBox->TextChanged += new System::EventHandler(this->SourceYTextBox_TextChanged);
        // 
        // label20
        // 
        this->label20->AutoSize = true;
        this->label20->Location = new System::Drawing::Point(13, 30);
        this->label20->Name = "label20";
        this->label20->Size = new System::Drawing::Size(47, 12);
        this->label20->TabIndex = 3;
        this->label20->Text = "From X:";
        // 
        // SourceXTextBox
        // 
        this->SourceXTextBox->Location = new System::Drawing::Point(62, 27);
        this->SourceXTextBox->MaxLength = 5;
        this->SourceXTextBox->Name = "SourceXTextBox";
        this->SourceXTextBox->Size = new System::Drawing::Size(37, 21);
        this->SourceXTextBox->TabIndex = 2;
        this->SourceXTextBox->TextChanged += new System::EventHandler(this->SourceXTextBox_TextChanged);
        // 
        // MovementInfoListBox
        // 
        this->MovementInfoListBox->Anchor = (static_cast<System::Windows::Forms::AnchorStyles*>(((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left)));
        this->MovementInfoListBox->FormattingEnabled = true;
        this->MovementInfoListBox->ItemHeight = 12;
        this->MovementInfoListBox->Location = new System::Drawing::Point(6, 32);
        this->MovementInfoListBox->Name = "MovementInfoListBox";
        this->MovementInfoListBox->SelectionMode = System::Windows::Forms::SelectionMode::MultiExtended;
        this->MovementInfoListBox->Size = new System::Drawing::Size(227, 160);
        this->MovementInfoListBox->TabIndex = 13;
        this->MovementInfoListBox->SelectedIndexChanged += new System::EventHandler(this->MovementInfoListBox_SelectedIndexChanged);
        // 
        // tabPage7
        // 
        this->tabPage7->Controls->Add(this->MZDeletebutton);
        this->tabPage7->Controls->Add(this->MZAddbutton);
        this->tabPage7->Controls->Add(this->MineZonepanel);
        this->tabPage7->Controls->Add(this->MZListlistBox);
        this->tabPage7->Location = new System::Drawing::Point(4, 22);
        this->tabPage7->Name = "tabPage7";
        this->tabPage7->Padding = new System::Windows::Forms::Padding(3);
        this->tabPage7->Size = new System::Drawing::Size(532, 226);
        this->tabPage7->TabIndex = 6;
        this->tabPage7->Text = "MineZones";
        this->tabPage7->UseVisualStyleBackColor = true;
        // 
        // MZDeletebutton
        // 
        this->MZDeletebutton->Location = new System::Drawing::Point(108, 6);
        this->MZDeletebutton->Name = "MZDeletebutton";
        this->MZDeletebutton->Size = new System::Drawing::Size(75, 21);
        this->MZDeletebutton->TabIndex = 12;
        this->MZDeletebutton->Text = "Remove";
        this->MZDeletebutton->UseVisualStyleBackColor = true;
        this->MZDeletebutton->Click += new System::EventHandler(this->MZDeletebutton_Click);
        // 
        // MZAddbutton
        // 
        this->MZAddbutton->Location = new System::Drawing::Point(6, 6);
        this->MZAddbutton->Name = "MZAddbutton";
        this->MZAddbutton->Size = new System::Drawing::Size(75, 21);
        this->MZAddbutton->TabIndex = 11;
        this->MZAddbutton->Text = "Add";
        this->MZAddbutton->UseVisualStyleBackColor = true;
        this->MZAddbutton->Click += new System::EventHandler(this->MZAddbutton_Click);
        // 
        // MineZonepanel
        // 
        this->MineZonepanel->Anchor = (static_cast<System::Windows::Forms::AnchorStyles*>((((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left) | System::Windows::Forms::AnchorStyles::Right)));
        this->MineZonepanel->Controls->Add(this->label27);
        this->MineZonepanel->Controls->Add(this->MineZoneComboBox);
        this->MineZonepanel->Controls->Add(this->label30);
        this->MineZonepanel->Controls->Add(this->MZYtextBox);
        this->MineZonepanel->Controls->Add(this->label31);
        this->MineZonepanel->Controls->Add(this->MZSizetextBox);
        this->MineZonepanel->Controls->Add(this->label32);
        this->MineZonepanel->Controls->Add(this->MZXtextBox);
        this->MineZonepanel->Enabled = false;
        this->MineZonepanel->Location = new System::Drawing::Point(189, 32);
        this->MineZonepanel->Name = "MineZonepanel";
        this->MineZonepanel->Size = new System::Drawing::Size(241, 128);
        this->MineZonepanel->TabIndex = 14;
        // 
        // label27
        // 
        this->label27->AutoSize = true;
        this->label27->Location = new System::Drawing::Point(12, 16);
        this->label27->Name = "label27";
        this->label27->Size = new System::Drawing::Size(65, 12);
        this->label27->TabIndex = 14;
        this->label27->Text = "Mine Type:";
        // 
        // MineZoneComboBox
        // 
        this->MineZoneComboBox->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
        this->MineZoneComboBox->FormattingEnabled = true;
        this->MineZoneComboBox->Location = new System::Drawing::Point(78, 13);
        this->MineZoneComboBox->Name = "MineZoneComboBox";
        this->MineZoneComboBox->Size = new System::Drawing::Size(124, 20);
        this->MineZoneComboBox->TabIndex = 13;
        this->MineZoneComboBox->SelectedIndexChanged += new System::EventHandler(this->MineZoneComboBox_SelectedIndexChanged);
        // 
        // label30
        // 
        this->label30->AutoSize = true;
        this->label30->Location = new System::Drawing::Point(142, 49);
        this->label30->Name = "label30";
        this->label30->Size = new System::Drawing::Size(17, 12);
        this->label30->TabIndex = 10;
        this->label30->Text = "Y:";
        // 
        // MZYtextBox
        // 
        this->MZYtextBox->Location = new System::Drawing::Point(165, 46);
        this->MZYtextBox->MaxLength = 5;
        this->MZYtextBox->Name = "MZYtextBox";
        this->MZYtextBox->Size = new System::Drawing::Size(37, 21);
        this->MZYtextBox->TabIndex = 3;
        this->MZYtextBox->TextChanged += new System::EventHandler(this->MZYtextBox_TextChanged);
        // 
        // label31
        // 
        this->label31->AutoSize = true;
        this->label31->Location = new System::Drawing::Point(42, 91);
        this->label31->Name = "label31";
        this->label31->Size = new System::Drawing::Size(35, 12);
        this->label31->TabIndex = 8;
        this->label31->Text = "Size:";
        // 
        // MZSizetextBox
        // 
        this->MZSizetextBox->Location = new System::Drawing::Point(78, 89);
        this->MZSizetextBox->MaxLength = 5;
        this->MZSizetextBox->Name = "MZSizetextBox";
        this->MZSizetextBox->Size = new System::Drawing::Size(37, 21);
        this->MZSizetextBox->TabIndex = 4;
        this->MZSizetextBox->TextChanged += new System::EventHandler(this->MZSizetextBox_TextChanged);
        // 
        // label32
        // 
        this->label32->AutoSize = true;
        this->label32->Location = new System::Drawing::Point(55, 53);
        this->label32->Name = "label32";
        this->label32->Size = new System::Drawing::Size(17, 12);
        this->label32->TabIndex = 3;
        this->label32->Text = "X:";
        // 
        // MZXtextBox
        // 
        this->MZXtextBox->Location = new System::Drawing::Point(78, 50);
        this->MZXtextBox->MaxLength = 5;
        this->MZXtextBox->Name = "MZXtextBox";
        this->MZXtextBox->Size = new System::Drawing::Size(37, 21);
        this->MZXtextBox->TabIndex = 2;
        this->MZXtextBox->TextChanged += new System::EventHandler(this->MZXtextBox_TextChanged);
        // 
        // MZListlistBox
        // 
        this->MZListlistBox->Anchor = (static_cast<System::Windows::Forms::AnchorStyles*>(((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left)));
        this->MZListlistBox->FormattingEnabled = true;
        this->MZListlistBox->ItemHeight = 12;
        this->MZListlistBox->Location = new System::Drawing::Point(6, 32);
        this->MZListlistBox->Name = "MZListlistBox";
        this->MZListlistBox->SelectionMode = System::Windows::Forms::SelectionMode::MultiExtended;
        this->MZListlistBox->Size = new System::Drawing::Size(177, 124);
        this->MZListlistBox->TabIndex = 13;
        this->MZListlistBox->SelectedIndexChanged += new System::EventHandler(this->MZListlistBox_SelectedIndexChanged);
        // 
        // RemoveButton
        // 
        this->RemoveButton->Location = new System::Drawing::Point(126, 30);
        this->RemoveButton->Name = "RemoveButton";
        this->RemoveButton->Size = new System::Drawing::Size(75, 21);
        this->RemoveButton->TabIndex = 6;
        this->RemoveButton->Text = "Remove";
        this->RemoveButton->UseVisualStyleBackColor = true;
        this->RemoveButton->Click += new System::EventHandler(this->RemoveButton_Click);
        // 
        // AddButton
        // 
        this->AddButton->Location = new System::Drawing::Point(12, 30);
        this->AddButton->Name = "AddButton";
        this->AddButton->Size = new System::Drawing::Size(75, 21);
        this->AddButton->TabIndex = 5;
        this->AddButton->Text = "Add";
        this->AddButton->UseVisualStyleBackColor = true;
        this->AddButton->Click += new System::EventHandler(this->AddButton_Click);
        // 
        // MapInfoListBox
        // 
        this->MapInfoListBox->Anchor = (static_cast<System::Windows::Forms::AnchorStyles*>(((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left)));
        this->MapInfoListBox->FormattingEnabled = true;
        this->MapInfoListBox->ItemHeight = 12;
        this->MapInfoListBox->Location = new System::Drawing::Point(12, 57);
        this->MapInfoListBox->Name = "MapInfoListBox";
        this->MapInfoListBox->SelectionMode = System::Windows::Forms::SelectionMode::MultiExtended;
        this->MapInfoListBox->Size = new System::Drawing::Size(189, 244);
        this->MapInfoListBox->TabIndex = 7;
        this->MapInfoListBox->SelectedIndexChanged += new System::EventHandler(this->MapInfoListBox_SelectedIndexChanged);
        // 
        // PasteMapButton
        // 
        this->PasteMapButton->Location = new System::Drawing::Point(288, 30);
        this->PasteMapButton->Name = "PasteMapButton";
        this->PasteMapButton->Size = new System::Drawing::Size(75, 21);
        this->PasteMapButton->TabIndex = 24;
        this->PasteMapButton->Text = "Paste";
        this->PasteMapButton->UseVisualStyleBackColor = true;
        this->PasteMapButton->Click += new System::EventHandler(this->PasteMapButton_Click);
        // 
        // CopyMapButton
        // 
        this->CopyMapButton->Location = new System::Drawing::Point(207, 30);
        this->CopyMapButton->Name = "CopyMapButton";
        this->CopyMapButton->Size = new System::Drawing::Size(75, 21);
        this->CopyMapButton->TabIndex = 23;
        this->CopyMapButton->Text = "Copy";
        this->CopyMapButton->UseVisualStyleBackColor = true;
        // 
        // ImportMapInfoButton
        // 
        this->ImportMapInfoButton->Location = new System::Drawing::Point(564, 4);
        this->ImportMapInfoButton->Name = "ImportMapInfoButton";
        this->ImportMapInfoButton->Size = new System::Drawing::Size(87, 21);
        this->ImportMapInfoButton->TabIndex = 25;
        this->ImportMapInfoButton->Text = "Import MapInfo";
        this->ImportMapInfoButton->UseVisualStyleBackColor = true;
        this->ImportMapInfoButton->Click += new System::EventHandler(this->ImportMapInfoButton_Click);
        // 
        // ExportMapInfoButton
        // 
        this->ExportMapInfoButton->Location = new System::Drawing::Point(564, 30);
        this->ExportMapInfoButton->Name = "ExportMapInfoButton";
        this->ExportMapInfoButton->Size = new System::Drawing::Size(87, 21);
        this->ExportMapInfoButton->TabIndex = 26;
        this->ExportMapInfoButton->Text = "Export MapInfo";
        this->ExportMapInfoButton->UseVisualStyleBackColor = true;
        this->ExportMapInfoButton->Click += new System::EventHandler(this->ExportMapInfoButton_Click);
        // 
        // ImportMongenButton
        // 
        this->ImportMongenButton->Location = new System::Drawing::Point(657, 3);
        this->ImportMongenButton->Name = "ImportMongenButton";
        this->ImportMongenButton->Size = new System::Drawing::Size(86, 21);
        this->ImportMongenButton->TabIndex = 27;
        this->ImportMongenButton->Text = "Import Spawns";
        this->ImportMongenButton->UseVisualStyleBackColor = true;
        this->ImportMongenButton->Click += new System::EventHandler(this->ImportMonGenButton_Click);
        // 
        // ExportMongenButton
        // 
        this->ExportMongenButton->Location = new System::Drawing::Point(657, 30);
        this->ExportMongenButton->Name = "ExportMongenButton";
        this->ExportMongenButton->Size = new System::Drawing::Size(86, 21);
        this->ExportMongenButton->TabIndex = 28;
        this->ExportMongenButton->Text = "Export Spawns";
        this->ExportMongenButton->UseVisualStyleBackColor = true;
        this->ExportMongenButton->Click += new System::EventHandler(this->ExportMonGenButton_Click);
        // 
        // VisualizerButton
        // 
        this->VisualizerButton->Location = new System::Drawing::Point(483, 4);
        this->VisualizerButton->Name = "VisualizerButton";
        this->VisualizerButton->Size = new System::Drawing::Size(75, 21);
        this->VisualizerButton->TabIndex = 31;
        this->VisualizerButton->Text = "Visualizer";
        this->VisualizerButton->UseVisualStyleBackColor = true;
        this->VisualizerButton->Click += new System::EventHandler(this->VisualizerButton_Click);
        // 
        // NoReincarnation
        // 
        this->NoReincarnation->AutoSize = true;
        this->NoReincarnation->Location = new System::Drawing::Point(15, 183);
        this->NoReincarnation->Name = "NoReincarnation";
        this->NoReincarnation->Size = new System::Drawing::Size(109, 17);
        this->NoReincarnation->TabIndex = 45;
        this->NoReincarnation->Text = "No Reincarnation";
        this->NoReincarnation->UseVisualStyleBackColor = true;
        this->NoReincarnation->CheckedChanged += new System::EventHandler(this->NoReincarnation_CheckedChanged);
        // 
        // MapInfoForm
        // 
        this->AutoScaleDimensions = new System::Drawing::SizeF(6.0F, 12.0F);
        this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
        this->ClientSize = new System::Drawing::Size(759, 310);
        this->Controls->Add(this->VisualizerButton);
        this->Controls->Add(this->ExportMongenButton);
        this->Controls->Add(this->ImportMongenButton);
        this->Controls->Add(this->ExportMapInfoButton);
        this->Controls->Add(this->ImportMapInfoButton);
        this->Controls->Add(this->PasteMapButton);
        this->Controls->Add(this->CopyMapButton);
        this->Controls->Add(this->MapTabs);
        this->Controls->Add(this->RemoveButton);
        this->Controls->Add(this->AddButton);
        this->Controls->Add(this->MapInfoListBox);
        this->Name = "MapInfoForm";
        this->Text = "Map Info";
        this->FormClosed += new System::Windows::Forms::FormClosedEventHandler(this->MapInfoForm_FormClosed);
        this->MapTabs->ResumeLayout(false);
        this->tabPage1->ResumeLayout(false);
        this->tabPage1->PerformLayout();
        this->tabPage6->ResumeLayout(false);
        this->tabPage6->PerformLayout();
        this->tabPage3->ResumeLayout(false);
        this->SafeZoneInfoPanel->ResumeLayout(false);
        this->SafeZoneInfoPanel->PerformLayout();
        this->tabPage2->ResumeLayout(false);
        this->RespawnInfoPanel->ResumeLayout(false);
        this->RespawnInfoPanel->PerformLayout();
        this->tabPage4->ResumeLayout(false);
        this->MovementInfoPanel->ResumeLayout(false);
        this->MovementInfoPanel->PerformLayout();
        this->tabPage7->ResumeLayout(false);
        this->MineZonepanel->ResumeLayout(false);
        this->MineZonepanel->PerformLayout();
        this->ResumeLayout(false);

    }
}
